我正在尝试通过C ++上的TCP / IP协议在两台计算机之间进行通信。我在同一个插座上发送和接收。但是有一个问题,我没有指示第二台计算机试图向我发送一些东西。
是否有任何标志或指示符告诉我某人正在向我发送信息而我必须收到?
答案 0 :(得分:2)
使用select()函数在一个或多个套接字上等待事件。如果没有超时,您还可以检查是否有可用的数据。
答案 1 :(得分:0)
这取决于特定的套接字API。在最常见的情况下,您只需挂起接收(或使用异步套接字API挂起回调),并在有数据时立即取消阻止。一些套接字API有一些方法可以告诉你是否有可用于获取的数据,但最简单的方法就是异步接收并等待套接字堆栈提升你的回调。