单个插座可以用于C中的全双工通信吗?

时间:2012-11-04 10:23:04

标签: c sockets

我正在编写一个点对点应用程序,其中两个客户端对等体之间的连接必须是双工的,这样两个客户端都能够同时进行发送和接收。是可以使用单个插座还是需要使用两个插座?

1 个答案:

答案 0 :(得分:6)

这是可能的;我所知道的每个操作系统上的插座都是全双工的 - 您可以同时发送和接收。但是,要实现真正的全双工通信,必须确保应用程序可以在等待接收时进行传输 - 这意味着要么使用非阻塞IO和事件轮询(在Linux上有selectepoll,要么Windows等WSAAsyncSelect或重叠IO)或使用不同的线程进行传输和接收。