【发布时间】:2012-03-16 08:37:27
【问题描述】:
我正在测试一个聊天应用程序的用户数量。所以我正在尝试如下:
我正在尝试通过登录来运行我的聊天应用程序,以便在 for 循环中只为一个用户进行 1000 次聊天。这是我的部分代码。
public void LoginChatConnect() {
try {
// while(true){
for(int i=0;i<1000;i++){
System.out.println("inside loginChatLogin");
String userId = "Rahul";
String password = "rahul";
sockChatListen = new Socket("localhost", 5004);
// /sockChatListen.
dosChatListen = new DataOutputStream(
sockChatListen.getOutputStream());
disChatListen = new DataInputStream(sockChatListen.getInputStream());
dosChatListen.writeUTF(userId);
dosChatListen.writeUTF(password);
// System.out.println(dosChatListen.toString());
dosChatListen.flush();
// sockChatListen.close();
boolean b = sockChatListen.isClosed();
System.out.println("connection open**********************" + b);
sockChatListen.close();
System.out.println("connection closed**********************" + b);
count++;
System.out.println("count" + count);
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
在上面的代码中,我只是想为一个用户登录 1000 次。但是在某些登录后它给了我这个套接字错误。
java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
我在这里尝试创建与单个端口 5004 的连接。为什么在 100 多个成功连接(登录)后出现错误。?
我应该如何恢复这个问题?
任何建议都会有所帮助。
【问题讨论】:
标签: java multithreading sockets port