私はクライアントサーバーアプリケーションを書いています.ネットワーク内のすべてのクライアントを見つけるためにサーバーが必要です. 私はすでにいくつかの情報をここで見つけました: Discovering clients on a wifi network ですが、これを実装する方法はまだわかりません。たぶん、誰かが私がいくつかのコード例を見つけることができる場所を言うことができます.
前もって感謝します。
PS。C ++、Windowsで作業しています。
私はクライアントサーバーアプリケーションを書いています.ネットワーク内のすべてのクライアントを見つけるためにサーバーが必要です. 私はすでにいくつかの情報をここで見つけました: Discovering clients on a wifi network ですが、これを実装する方法はまだわかりません。たぶん、誰かが私がいくつかのコード例を見つけることができる場所を言うことができます.
前もって感謝します。
PS。C ++、Windowsで作業しています。
一般に、クライアントとサーバー間の通信プロトコルとして TCP/IP が使用されます。Windows プラットフォームでは、Winsock ライブラリを使用して TCP/IP を実装します。サーバーは、着信接続をポートでバインドしてリッスンします。stackoverflow のような Web サーバーがデフォルトでポート 80 をリッスンし、クライアント (ブラウザー) がそれに接続するのと同じように。
開始するためのリンクは次のとおりです。ここにサンプルがあります
通常、すべてのクライアントは、適切に定義されたポートでリッスンするサーバーに接続します。サーバーは 1 つしかないため、IP アドレスとポートはすべてのクライアントに周知されているため、クライアントはそれに接続できます。
あなたの場合、サーバーにネットワーク内のすべてのクライアントを検出する能力が必要です。これを実現するには、サーバーがネットワークに何らかのメッセージをブロードキャストする必要があります。クライアントはこのメッセージを受信し、そのような IP で利用可能であり、サーバーに接続するか、サーバーに追加情報を提供できることをサーバーに応答します。通常、ブロードキャストではなく、限定ブロードキャストであるマルチキャストが使用されます。すべてのクライアントとサーバーは、特別な種類の IP アドレスであるマルチキャスト グループにサブスクライブします。サーバーがこのマルチキャスト アドレスにメッセージを送信すると、このアドレスのサブスクライバーであるすべてのクライアントがこのメッセージを受信し、応答することができます。ここにサンプルがあります