2 tringbtb TringBtb 于 2016.05.06 16:41 提问

自己用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("\r\n".getBytes());
fos.flush();
fos.close();
pool.submit(new HTTPHandler(connection, header));
} catch (IOException e) {
logger.log(Level.WARNING, "Exception accepting connection", e);
} catch (RuntimeException e) {
logger.log(Level.SEVERE, "Unexpected 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)将连接数写入文件,但是这个连接的数量不稳定,怎么办?

2个回答

CSDNXIAOD
CSDNXIAOD   2016.05.06 16:52

用JAVA Socket向http服务器发送GET命令
Java Socket与HTTP服务器
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

devmiao
devmiao   Ds   Rxr 2016.05.07 06:48
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!