Сервер принимает несколько соединений с помощью потоков.Простая программа связи сокетов не работает вообще
Сервер:
@Override
public void run() {
try {
System.out.println(client);
System.out.println("Client Connected");
//So far, so good. Client is connected
BufferedReader in = new BufferedReader(
new InputStreamReader(this.client.getInputStream()));
System.out.println(in.readLine());
// Nothing happens
} catch (Exception e) {
e.printStackTrace();
}
}
Клиент:
try {
PrintWriter out = new PrintWriter(Client.socket.getOutputStream());
BufferedReader in = new BufferedReader (
new InputStreamReader(Client.socket.getInputStream()));
out.write("Information sent from client");
// Does not work
in.read();
// Before this .read it would give a "Connection reset" probably
// Because the client closed before the server could even read
}
Нет ошибок, но он просто висит, ничего не отправляется. Брандмауэр отключен, поэтому этого не может быть. Также он работал вчера. Я понятия не имею, что я мог испортить.
Пробовал ли вы использовать net cat для замены клиента и сервера отдельно, чтобы увидеть, что работает? – 735Tesla
'readline()' полагается на новую строку, согласно документам. Вы не отправляете его, чтобы он не блокировал и никогда не возвращался. –