问题描述
- 自己用java写的简单的http服务器,该怎么测试最大连接的socket数量?
- 服务器监听端口代码:
while (true) {
try {
Socket connection = server.accept();
FileUtils.writeLocal(TimeUtils.getCurrentTime());
FileOutputStream fos = new FileOutputStream(""serverlog.txt"" true);
threadcount++;
fos.write((connection.getInetAddress() + "":"" + connection.getPort() + "" threadcount: "" + threadcount)
.getBytes());
fos.write(""
"".getBytes());
fos.flush();
fos.close();
pool.submit(new HTTPHandler(connection header));
} catch (IOException e) {
logger.log(Level.WARNINGException accepting connection"" e);
} catch (RuntimeException e) {
logger.log(Level.SEVEREUnexpected error"" e);
}
}客户端链接服务器代码:
for (; j < 105000; j++) {
new Thread() {
public void run() {
try {
sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
startSocket(j);
};
}.start();
}发现启动服务器后,再启动客户端,总会出现connetion refused:connect的异常。服务器 fos.write((connection.getInetAddress() + "":"" + connection.getPort() + "" threadcount: "" + threadcount)将连接数写入文件,但是这个连接的数量不稳定,怎么办?
解决方案
用JAVA Socket向http服务器发送GET命令
Java Socket与HTTP服务器
解决方案二:
http://blog.csdn.net/leixiaohua1020/article/details/11978501
时间: 2024-08-07 17:38:53