Я делаю слушателя, который в основном слушает порт как навсегда и, как только клиент подключается к нему, затем инициирует передачу таким образом, что слушатель сначала отправляет строку "@ AUTH @", а затем клиент отвечает и т. д.
Мой сегмент кода для вышеупомянутого выглядит следующим образом
while(true){
try {
Socket incoming=connection.accept();
while(!incoming.isClosed())
{
out = new PrintWriter(incoming.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(incoming.getInputStream()));
BufferedInputStream is = new BufferedInputStream(incoming.getInputStream()); //inputstream to get data from the socket
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
out.println("@AUTH@");
}
}
catch(Exception e){}
}
где 'connection' - это объект класса ServerSocket.
Теперь, когда я тестирую свой код с помощью Hyoperterminal, мне нравится подключаться к порту и при первом подключении, отображается строка «@ AUTH @», но затем, как только я отключаюсь от этого порта с помощью Hyperterminal и снова подключаю, строка «@AUTH @ "не отображается. По сути, я хочу, чтобы эта строка отображалась каждый раз, когда клиент подключается к этому порту, поскольку он действует как инициация для всего процесса авторизации.
Любые указатели будут очень полезны.
Приветствия