只为一笑...
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 “1000 char” 行。这只是一个粗略的吞吐量测试。
在我的机器上,环回传输速率约为 190MB/秒。字节,而不是位。190,000 行/秒。
我的观点是,使用骨干 Java 套接字的“简单”方式非常快。这将使任何常见的网络连接饱和(这意味着网络将比您的 I/O 更慢地减慢您的速度)。
可能“足够快”。
你期待什么样的流量?