ピアツーピアチャットプログラムに取り組んでいますが、クライアントとサーバーを同時に実行するという問題が発生しました。専用サーバーで接続を管理したくありません。解決策は非同期の直接接続かもしれないと思いますが、よくわかりません。
私が達成しようとしているのは、2つのホスト間でプログラムを実行できるようにすることです。プログラムが開始され、テキストボックスで指定されたIPアドレスへの接続が開始されます。同時に、ローカルホストのIPアドレスで着信接続のリッスンも開始します。
***私はtcpを使用しています。これは、偶然に何かが破損しているため、メッセージを読み取ることができないためです(暗号化されています)。
問題:1)他のプログラムが接続を試みる前に、クライアントが一定期間待機している可能性があります。では、何らかの形のループを利用する必要がありますか?もしそうなら、どのように?
2)サーバー部分に1つのスレッド、クライアント部分に1つのスレッドを使用するマルチスレッドを使用する必要があると思いますが、問題はそれらがハングしないようにすることです。両方のプログラムは同一であるため、他のホストをリッスンし、同時に接続を試みる方法があります。
3)サーバーがサーバーへの接続をリッスンするのにも問題があり、コンピューターからIPアドレスを自動的に取得する方法がわかりません。
助けてくれてありがとう。
編集:これはLAN上のみです。