
2 つのクライアントがあり、サーバーと対話します。
ある時点で、サーバーは接続を確立するためにクライアントに互いの情報を送信します。
2 つのクライアントは相互にソケット接続を確立し、サーバーを経由せずに直接データを交換します。
これはP2P接続ですか?
答え1
はい、それは P2P 接続です。詳細については、以下を参照してください。http://en.wikipedia.org/wiki/BitTorrent_(プロトコル)
答え2
答え3
「クライアント」、「サーバー」、「ピアツーピア」という用語はいずれもやや曖昧であり、それらの境界はあいまいです。
サーバーである特定のエンティティ X は通常、接続を開始せず、クライアントが通信するのを待ちます。逆に、クライアントは接続をリッスンせず、指定されたサーバーまたは検出されたサーバーへの接続を開始します。
ピアツーピアでは、X が接続を開始したり受信したりできます。
ここでの X はプロセス、プロセスの一部、プロセスのスレッドなどですが、すべて同じサービスである必要があります。プロセスまたはプログラムは、あるタイプのサービスのクライアントであり、別のタイプのサービスのサーバーである場合があります。したがって、これは実際には「ピアツーピア」ではなく、クライアント (あるタイプ) とサーバー (別のタイプ) の両方であるプログラムです。
あなたが提供した例では、検出プロセスとデータ転送プロセスという 2 つの処理が行われています。つまり、2 つの異なるプロトコル、またはプロトコルの一部が実行されます。「ピアツーピア」のほとんどすべてがこのようなハイブリッドであり、ピアはサーバーの支援なしでデータを交換できますが、検出にはサーバーのようなものが必要です。