0

我正在尝试通过 C++ 上的 TCP/IP 协议在两台计算机之间进行通信。我在同一个套接字上发送和接收。但是有一个问题,我没有迹象表明第二台计算机正在尝试向我发送一些东西。

是否有任何标志或指示器告诉我有人正在向我发送某些东西而我必须接收?

4

2 回答 2

2

使用 select() 函数等待一个或多个套接字上的事件。使用零超时,您还可以检查是否有任何可用数据。

于 2012-05-16T21:35:40.233 回答
0

这取决于特定的套接字 API。在最常见的情况下,您只需挂起接收(或使用异步套接字 API 停放回调),一旦有数据就会解除阻塞。一些套接字 API 有方法让您判断是否有数据可供获取,但最简单的方法是简单地异步接收并等待套接字堆栈向您发出回调。

于 2012-05-16T21:23:51.750 回答