Я тестирую приложение чата для количества пользователей. Так что я пытаюсь выглядеть следующим образом:Создание нескольких сокетов с использованием одного клиента в приложении чата
Я пытаюсь запустить мое приложение для чата, выполнив вход в чат только для одного пользователя в течение 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 успешных соединений (логин).?
Как я могу восстановить эту проблему?
Любые предложения будут полезны.
ОК. Так можно ли создавать 1000 последовательных соединений одним клиентом сокета? – Java
Да. Каждый раз, когда вы отказываетесь от своего клиента, он создаст новый клиентский сокет, который подключен к вашему серверу. Таким образом, вы можете одновременно использовать 1000 экземпляров (или любой возможный номер) своего клиентского приложения для имитации параллельных подключений. Однако этого недостаточно, чтобы немедленно установить и закрыть соединение. Вы можете поддерживать соединение в течение некоторого времени и обменивать некоторые суровые данные с сервером для имитации одновременных пользователей. – Drona