mirror of
https://github.com/yanfeizhang/coder-kung-fu.git
synced 2026-02-11 22:36:02 +08:00
feat: add test code of 1 million tcp connection
This commit is contained in:
41
tests/network/test02/java/Server.java
Normal file
41
tests/network/test02/java/Server.java
Normal file
@@ -0,0 +1,41 @@
|
||||
import java.io.IOException;
|
||||
import java.net.ServerSocket;
|
||||
import java.net.Socket;
|
||||
import java.net.InetSocketAddress;
|
||||
|
||||
public class Server {
|
||||
public static final int MAX_CONNECTION_NUM = 1100000;
|
||||
|
||||
public static void main(String[] args) {
|
||||
if(2 != args.length){
|
||||
System.out.println("Usage: java Server <server ip> <server port>\n");
|
||||
return;
|
||||
}
|
||||
|
||||
String sIp = args[0];
|
||||
int sPort = Integer.parseInt(args[1]);
|
||||
|
||||
//用数组将 socket 保存起来,防止连接被过早回收
|
||||
Socket[] sockets = new Socket[MAX_CONNECTION_NUM];
|
||||
|
||||
try {
|
||||
ServerSocket ss = new ServerSocket();
|
||||
ss.bind(new InetSocketAddress(sIp, sPort));
|
||||
System.out.println("启动Server " + sIp + ":" + sPort + "...");
|
||||
|
||||
int i = 0;
|
||||
while(true){
|
||||
try{
|
||||
Socket s = ss.accept();
|
||||
sockets[i] = s;
|
||||
i++;
|
||||
System.out.println("Server " + sIp + ":" + sPort + " 接收到第 " + i +" 条连接!");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user