0
Я пытаюсь выполнить простую программу Client/Server. Но всякий раз, когда я пытаюсь выполнить, я получаю «java.net.SocketException: Connection reset». почему это исключение происходит? Любое предложение для меня?Получение java.net.SocketException: Сброс соединения
Вот код
SocServer.java
public static void main(String[] args) throws Exception
{
System.out.println("Server is started");
ServerSocket ss = new ServerSocket(8886);
System.out.println("Server is waiting for client request");
Socket s = ss.accept();
System.out.println("Client Connected");
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String str = br.readLine();
System.out.println("Client Data" + str);
}
SocketClient.java
public static void main(String[] args) throws Exception
{
String ip = "localhost";
int port = 8886;
Socket s = new Socket(ip,port);
String str = "Noman";
OutputStreamWriter os = new OutputStreamWriter(s.getOutputStream());
PrintWriter out = new PrintWriter(os);
os.write(str);
os.flush();
}
2 вещи: 1) вы считаете, что все данные присутствуют и учитываются в 'readLine' в 1SocServer.java' и 2) вы никогда не закрываете ни один из потоков. Проверьте это: http://stackoverflow.com/questions/62929/java-net-socketexception-connection-reset?rq=1 –
Вы не отправляете новую строку, а слушатель ожидает разблокирования. Вне полностью неиспользуемого PrintWriter (я препятствую использовать его ... лучше явно отправлять новые строки, как и ожидалось). Для начала попробуйте 'String str =" Noman \ n "' – Fildor