6

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

4

1 回答 1

9

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

于 2012-11-04T10:29:00.243 回答