Я делаю 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?