[NetSupport、Radmin、PcAnyWhere ..] などのほとんどすべてのファイル転送ソフトウェアと、アプリケーションで使用したさまざまなコードを使用すると、1kb 未満の小さなサイズのファイルを大量に送信すると、転送速度が遅くなります。大量のファイル。
たとえば、LAN (イーサネット CAT5 ケーブル) で 1 つのファイル、たとえばビデオを送信すると、転送速度は 2MB から 9MB です
が、多数のファイルを含むゲームのフォルダーを送信すると、転送速度は約 300kb になります。 800キロバイト
ファイルの送信方法が原因だと思います:
しかし、ネットワーク上の共有フォルダで
通常のウィンドウの[コピー&ペースト]を使用すると、フォルダの送信の転送速度は常に単一のファイルを送信するのと同じように高速です。
[WCF サービス c# 4.0] を使用して、LAN で利用可能な最大速度を使用するファイル転送アプリケーションを開発しようとしています。次のように考えています。
Get all files from the folder.
if(FileSize<1 MB)
{
Create additional thread to send;
SendFile(FilePath);
}
else
{
Wait for the large file to be sent. // fileSize>1MB
}
void SendFile(string path) // a regular single file send.
{
SendFileInfo;
Open Socket and wait for server application to connect;
SendFileBytes;
Dispose;
}
しかし、ファイル転送に複数のソケットを使用することについて混乱しています。これは、より多くのポートとより多くの時間を使用するためです (リッスンと受け入れの遅延)。
それでそれをするのは良い考えですか?
それが可能かどうか、それを行う方法、これを意味する tcp よりも優れたプロトコルについての説明が必要です。
前もって感謝します。