ただ笑いのために...
socket = new ServerSocket(2004, 10);
connection = socket.accept();
in = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(in);
BufferedReader br = new BufferedReader(isr);
String line = null;
do {
line = br.readLine();
} while (!"done".equals(line));
LOOPBACKを使用します。つまり、ローカルプロセスを使用して、私のマシン上で、適切に「ばかげた」クライアントを使用してローカルホストに実行します。
requestSocket = new Socket("localhost", 2004);
out = requestSocket.getOutputStream();
PrintWriter pw = new PrintWriter(out);
String line = "...1000 characters long...";
for (int i = 0; i < 2000000 - 1; i++) {
pw.println(line);
}
line = "done";
pw.println(line);
pw.flush();
これは2Mの「1000char」行を送信することに注意してください。これは単なる大まかなスループットテストです。
私のマシンでは、ループバックで、最大190MB/秒の転送速度が得られます。ビットではなくバイト。190,000行/秒
私のポイントは、ボーンストックJavaソケットを使用する「洗練されていない」方法は非常に高速であるということです。これにより、一般的なネットワーク接続が飽和状態になります(つまり、ネットワークによって、ここでのI / Oよりも速度が低下します)。
おそらく「十分に速い」。
どのようなトラフィックを期待していますか?