Я пытаюсь сделать соединение с сокетами клиент/сервер через BufferedReader и Buffered Writer, но читатель не читает ничего, он просто повешен, где клиент отправляет и скрывает правильно. Сервер не генерирует никаких исключений, как если бы клиент не отправлял ничего на сервер.Java-сокет BufferedReader читает не читает
Моя голова собирается идти взрываются ...
Im используя то же самое для клиента и сервера:
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
Вот код сервера:
//inside of try catch
while(true){
while(!in.ready())// just to debug
System.out.println("READY: " + in.ready()); //just to debug
System.out.println("READY: OK"); //just to debug
msg = receive().toString(); //hangs here...
System.out.println("KEYIS: " + msg);
///some stuff to do ....
public StringBuilder receive() throws IOException {
StringBuilder str = new StringBuilder();
int tmp;
while(true){
tmp = in.read();
if(tmp == 0)
break;
else if(tmp == -1)
throw new IOException();
str.append((char)tmp);
}
return str;
}
код клиента: не висит здесь
//inside of try catch
send(KEY); //sended properly, no exception
while(true){
send(KEY); // sended properly, no exception
System.out.println("sent");
//System.out.println(receive().toString());
}
public void send(String str) throws IOException{
out.write(str + "\n"); //
//out.newLine(); //tried too, not helped
out.flush(); //push message to server
}
Почему ты использовать BufferedReader? Попытайтесь удалить его, что должно помочь. – vbezhenar