これはP2P接続と呼べるのでしょうか?

これはP2P接続と呼べるのでしょうか?

2 つのクライアントがあり、サーバーと対話します。

ある時点で、サーバーは接続を確立するためにクライアントに互いの情報を送信します。

2 つのクライアントは相互にソケット接続を確立し、サーバーを経由せずに直接データを交換します。

これはP2P接続ですか?

答え1

はい、それは P2P 接続です。詳細については、以下を参照してください。http://en.wikipedia.org/wiki/BitTorrent_(プロトコル)

答え2

今説明したのは「穴あけ」と呼ばれるものです。TCP と UDPプロトコル。この記事これがどのように機能するかを説明するのに非常に優れています:

これが完了すると、ピアは互いに通信できるようになります。この方法では、接続を初期化するために中央サーバーが必要です。ただし、これについては少なくとも少しは調査したようです。

答え3

「クライアント」、「サーバー」、「ピアツーピア」という用語はいずれもやや曖昧であり、それらの境界はあいまいです。

サーバーである特定のエンティティ X は通常、接続を開始せず、クライアントが通信するのを待ちます。逆に、クライアントは接続をリッスンせず、指定されたサーバーまたは検出されたサーバーへの接続を開始します。

ピアツーピアでは、X が接続を開始したり受信したりできます。

ここでの X はプロセス、プロセスの一部、プロセスのスレッドなどですが、すべて同じサービスである必要があります。プロセスまたはプログラムは、あるタイプのサービスのクライアントであり、別のタイプのサービスのサーバーである場合があります。したがって、これは実際には「ピアツーピア」ではなく、クライアント (あるタイプ) とサーバー (別のタイプ) の両方であるプログラムです。

あなたが提供した例では、検出プロセスとデータ転送プロセスという 2 つの処理が行われています。つまり、2 つの異なるプロトコル、またはプロトコルの一部が実行されます。「ピアツーピア」のほとんどすべてがこのようなハイブリッドであり、ピアはサーバーの支援なしでデータを交換できますが、検出にはサーバーのようなものが必要です。

関連情報