3

さまざまなコンピューターで実行され、「utorrent」(ピアツーピア)のように相互に通信する必要があるアプリを作成したいと思います。このアプリはテキストメッセージのみを送信します。

これどうやってするの?インターネット上のリモートコンピュータに1つのメッセージを送信するという意味ですか?

私はWebサイトを持っており、起動時にすべてのアプリがそのWebサイトに情報を送信し、他のコンピューター(PHPを使用)で他のアプリの情報を見つけることができますが、インターネットを介して1つのコンピューターにアドレス指定し、データを直接送信する方法がわかりません。PHPでIPアドレスを見つけることができますが、それはルーター(ISP)のIPアドレスです。

メッセージはどのようにコンピュータに届きますか?私はすべてのコンピュータに対処することについて疑問に思っていますか?

私の脳は本当にここで立ち往生しています、私は本当に助けに感謝します。ありがとう。

4

1 に答える 1

5

ピアツーピアネットワークには、あるクライアントから別のクライアントにデータを送信するための集中型サーバーはありません。この場合、クライアントはサーバーとクライアントの両方として機能できる必要があります。つまり、ルーターでポート転送を処理する最新のトレントクライアントのようにUPnPを使用するか、ルーターのコンピューターにポートを手動で転送する必要があります。

集中型サーバー(トレントトラッカーなど)は通常、クライアントに互いの存在を認識させ、接続先を通知するために使用されます。これがPHPスクリプトの出番ですが、httpプロトコルを介してデータを提供するためにWebサーバーと組み合わせて使用​​していると仮定すると、PHPはこれを行う最も効果的な方法を提供しない可能性があります。

実際のテキスト通信については、Indyソケットライブラリを使用できます。私はこの例を見つけました。これは基本的にそれを行う方法を示しています:http://www.ciuly.com/delphi/indy/indy-10-client-server-basic-demo/

于 2012-06-02T16:05:59.327 に答える