我做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来做到这一点?