4

私はLANコンピュータを介してファイルを転送するプログラムを書いています.Delphiでファイル転送方法を探している間です. UDP は優れたソリューションであることがわかりましたが、問題があります。私が見つけたすべての例または記事では、サーバー プログラムの横にクライアント プログラムがありましたが、私のプログラムはネットワーク内のすべてのコンピューターとの間で送受信する必要があります。特定のサーバーまたはクライアント、p2p など、コンピューターをサーバーと別のコンピューターをクライアントにしたくありません。どうすればよいですか? Indyの記事も検索しましたが、サーバー/クライアントモードでも動作しています(私が見つけた限り)。

ここに画像の説明を入力

4

2 に答える 2

6

UDP はブロードキャストモードで動作します。これが必要です。しかし、そのような UDP ブロードキャストは現在のネットワークの外ではルーティングできません(つまり、ルーターによってブロックされます)。そのため、プロジェクトが主要な物理ネットワークの外にアクセスする必要がある場合は、より複雑なものを実装する必要があります。

車輪を再発明しないでください!この概念を実装した実用的なソースを見たい場合は、Ares Galaxyを参照してください。

「Delphi 自己組織化 p2p ネットワーク プロジェクトは、大規模な機能と高速なブロードキャスト タイプの検索システムを特徴としています。クライアントは、マルチソース ファイル転送、部分的なファイル共有、組み込みのオーディオ/ビデオ プレーヤー、および分散型チャット ルームをサポートしています」.

ソース コード ファイルは、SourceForge から入手できます。ニーズに合わせて P2P ネットワーク層を再利用/適応させることができますが、プロジェクトで使用する場合は、Ares ソース コードのライセンス条項に注意してください。

于 2013-02-10T09:47:20.367 に答える
4

インディTIdTrivialFTPTIdTrivialFTPServerコンポーネントを見てください。 TFTPはUDPベースのファイル転送プロトコルです。

于 2013-02-10T19:53:42.137 に答える