1
ケース:2つの異なるLinuxマシン。クライアントマシンは 'C'プログラムで動作し、SeverはJavaで動作するマシンを受信します。少ない秒でTCP/IP経由でbase64変換[オーディオファイル]を受信する方法は?
マイコード:受信用
appendedLen = "2687868";
int lengthToCheck= inFromClient.read(ch, 0, ch.length);
while (appendedLen >= lengthToCheck) {
request = request + String.valueOf(ch).trim();
if ((appendedLen - lengthToCheck) != 0) {
ch = new char[appendedLen - actualLen];
actualLen = inFromClient.read(ch, 0, ch.length);
lengthToCheck = lengthToCheck + actualLen;
} else {
(" Received Entire Response");
break;
}
}
、それは6-7ミンスがかかります。
を次のように[]これは、クライアントからサーバーへのファイルを送信するために動作しますが、再び、それは最後の受信に失敗したバイトとして読み取るためにApache Commonsを使用して、ソケットからInputStreamを取得します。ログを強化した後、私はそれが私の最後に受信したファイルの平均1448バイトで気付いた。 **ジャンボフレーム**は私の場合には機能しますか? – Sayee
大きなデータを転送する3rdパーティのlibを試しましたか?ここでいくつかのディスカッションが見つかりましたhttp://serverfault.com/questions/111813/what-is-the-best-way-to-transfer-a-single-large-file -over-a-high-speed-high-lat – ravthiru