WSARecv大约需要3秒才能在套接字编程窗口中执行?

时间:2011-11-16 10:16:50

标签: c++

如何提高WSARecv的性能以尽快完成。 IT使用重叠和阻塞套接字。 代码如下。

WSARecv(*socket, &Buffer, 1, &RecvCount, &Flag, NULL, NULL);

1 个答案:

答案 0 :(得分:1)

由于套接字阻塞,我的猜测是远程端没有发送任何内容,WSARecv在等待数据到达时阻塞

哦,来自WSARecv手册页:

If both lpOverlapped and lpCompletionRoutine are NULL, the socket in this
function will be treated as a nonoverlapped socket.

这意味着虽然套接字可能重叠,但是这个调用不会这样处理它,因为这两个指针都是NULL。您应该使用非阻塞套接字,或使用重叠,但不能同时使用两者。