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