0
我正在测试一个用户数的聊天应用程序。所以我想要的是如下:在聊天应用程序中使用单个客户端创建多个套接字
我想通过登录运行我的聊天应用程序只有一个用户1000次for循环聊天。这是我的代码的一部分。
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+成功连接(登录)得到错误的连接。?
我该如何解决这个问题?
任何建议将有所帮助。
好的。那么是否有可能通过单套接字客户端创建1000个顺序连接? – Java 2012-03-16 08:54:53
是的。每次隐瞒客户端时,它都会创建一个连接到服务器的新客户端套接字。因此,您可以同时拥有1000个实例(或任何可行数量)的客户端应用程序来模拟并发连接。但是,仅仅立即建立和关闭连接还不够。您可以保持连接一段时间,并与服务器交换一些任意数据以模拟并发用户。 – Drona 2012-03-16 09:03:50