Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
両方のクライアントが同時に送受信できるように、2 つのクライアント ピア間の接続を二重にする必要があるピア ツー ピア アプリケーションを作成しています。1 つのソケットで可能ですか、それとも 2 つのソケットを使用する必要がありますか?
それが可能だ; 私が知っているすべての OS のソケットは全二重です。同時に送受信できます。ただし、真の全二重通信を実現するには、受信を待機している間にアプリケーションが送信できることを確認する必要があります。これは、ノンブロッキング IO とイベント ポーリング (Linux ではselectとepoll、または Windows ではWSAAsyncSelectや オーバーラップ IO など) を使用するか、または を使用することを意味します。送信用と受信用の異なるスレッド。
select
epoll
WSAAsyncSelect