2016-08-24 4 views
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ミンスがかかります。

答えて

0

IOUtils.toByteArray(inputStream) 
+0

を次のように[]これは、クライアントからサーバーへのファイルを送信するために動作しますが、再び、それは最後の受信に失敗したバイトとして読み取るためにApache Commonsを使用して、ソケットからInputStreamを取得します。ログを強化した後、私はそれが私の最後に受信したファイルの平均1448バイトで気付いた。 **ジャンボフレーム**は私の場合には機能しますか? – Sayee

+0

大きなデータを転送する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

関連する問題