これは私のP2Pでの最初の経験であり、私はそのデザインに関するいくつかの助けが必要です。簡単なP2Pチャットアプリケーションの作成
私は単純なメッセンジャーアプリケーションを開発しています。私はすべてのユーザーが認証し、すべてのユーザーが到達可能なオープンポートをアナウンスするディレクトリサーバーを持っています。ディレクトリサーバーはユーザーとポートを管理しており、特定のユーザーのためにディレクトリサーバーに問い合わせることができます。この部分は完了です。 2番目の部分は私がP2Pであるべきだと思うチャットです。私はチャットを開始できるだけでなく、チャットの終点になることができます(クライアントとサーバーの両方)
どうやってP2Pを処理するのですか? 2つの異なるソケットを作成しますか?私が着信接続のためのTCP要求を聞いているものと、私がチャットを開始するためのTCP要求を送信する別のもの。
この場合、3つのソケット、1つはサーバーと話し、2つはP2Pが必要ですか?
同じソケットで送受信できるはずなので、サーバーとの接続は1つで、チャットごとに1つの接続が必要です。 –
'p2p'タグを参照すると、最近多くの人がこの正確な質問をしていることがわかります。ほとんどの人がC#で解決策を求めています。興味のない、これはコース/宿題から来ていますか?現在P2Pチャットに興味のある人の数は、このようなニッチな領域ではかなり高いです。 – halfer
ロイ2つのソケットに同意します。実際には、ディレクトリソケットは更新のために定期的に開く必要があるだけなので、同時に1つしか必要ないかもしれません。サーバーへの接続をオープンにするという点では、永続的に開くためには非常に高額になります。 – halfer