Socket.Receive有时仅捕获数据包

时间:2019-02-26 07:41:08

标签: c# .net uwp

我做Socket,握手后立即接收,但有时程序挂起等待数据包。

int reciveLength = tcpSock.Receive(handShake, SocketFlags.None); 
int bitfieldLength = tcpSock.Receive(bitfeildRecive, SocketFlags.None);

第一个被完美接收,第二个似乎没有被接收。我认为这是一种比赛条件,因为第一个在“ 83.1969”发送,第二个在“ 83.1970”发送。

达到超时时间后,bitfeildRecive将仅为65535字节,为0。

我可以在Wireshark中看到该数据包,它只是一个数据包。如何获取程序以捕获下一个要发送的数据包?

是否可以使用Socket.Receive来做到这一点?

0 个答案:

没有答案