- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:WinsockでN対N通信のプログラミング)
WinsockでN対N通信のプログラミング
このQ&Aのポイント
- Winsockを使用したN対N通信のプログラミングについて教えてください。
- 現在、VC++2008とWindows7(32bit)を使用しています。マシンをS0、C1、C2、C3、C4とし、S0をサーバー、Ciをクライアントとして1対4の通信を確立しました。しかし、C1からC2へのデータ転送はS0を経由するため、S0の負荷が大きくなることが懸念されます。また、クライアントの数も増える予定です。クライアント同士で直接的なデータのやり取りや、負荷の問題を解決する方法について教えてください。
- Winsockを使ってN対N通信を行う際のアプリケーション設計に関して相談があります。S0をサーバー、C1からC4をクライアントとして1対4の通信を確立しましたが、S0を経由するためにS0の負荷が増加し、さらなるクライアントの増加に対応できません。クライアント同士で直接データをやり取りする方法や、サーバーの負荷を軽減する方法について教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
C1、C2、C3、C4も各々ListenSocketを開きC3→C1、C4→C2の要求が発生した時点で SOからC3,C4に対して各々C1,C2のIPアドレスを通知してやれば良いのでは? C1,C2のIPアドレスはSOでbindした時に取得できますからSOが通信相手を仲介するようにすれば なんちゃってWinMXみたいなP2Pネットワークが構築出来ると思います。
お礼
BuriBuri4様 ご回答ありがとうございました。上記やり方でシステムを実現させました! 結局私の知識が足りなかった点は、ローカルネットワークシステムにserver(bind-listenできるノード)が複数存在できることを知らなかったことでした。BuriBuri4様のご回答でそれに気づくことができました。大変感謝しています。