我有以下代码:代理所需的非阻塞套接字?
{
send(dstSocket, rcvBuffer, recvMsgSize, 0);
sndMsgSize = recv(dstSocket, sndBuffer, RCVBUFSIZE, 0);
send(rcvSocket, sndBuffer, sndMsgSize, 0);
recvMsgSize = recv(rcvSocket, rcvBuffer, RCVBUFSIZE, 0);
}
最终应该成为一个通用的TCP代理的一部分。现在依然如此,因为recv()等待输入,所以数据只能以块的形式传输,具体取决于当前的位置。
我读到的是,我需要像“非阻塞套接字”和监视它们的机制。我发现这种机制是Linux中的select,poll或epoll。有谁能给我一个确认,我在这里的正确轨道上?或者,这种运动也可以用阻塞插座来完成吗?
Regards
非常感谢很多家伙,现在是我阅读那些实现它们的正确时间:) – user912877