如何提高WSARecv的性能以尽快完成。 IT使用重叠和阻塞套接字。 代码如下。
WSARecv(*socket, &Buffer, 1, &RecvCount, &Flag, NULL, NULL);
答案 0 :(得分:1)
由于套接字阻塞,我的猜测是远程端没有发送任何内容,WSARecv
在等待数据到达时阻塞。
哦,来自WSARecv
手册页:
If both lpOverlapped and lpCompletionRoutine are NULL, the socket in this
function will be treated as a nonoverlapped socket.
这意味着虽然套接字可能重叠,但是这个调用不会这样处理它,因为这两个指针都是NULL。您应该使用非阻塞套接字,或使用重叠,但不能同时使用两者。