Я пытаюсь заставить Rasberry слушать сервер сокетов Java. Я запускаю код сервера с помощью eclipse, а затем захожу на рабочий стол raspberry и запускаю client.jar. Когда я запускаю client.jar, он не подключается к моему серверу и не выдает никаких ошибок. Он просто «остается» в Lxterminal навсегда и ничего не делает.
Сервер
int port = 6666;
Inet4Address add = (Inet4Address) Inet4Address.getLocalHost();
System.err.println(add);
ServerSocket server = new ServerSocket(6666, 1, add);
Socket client = server.accept();
System.err.println("acc");
DataInputStream in = new DataInputStream(client.getInputStream());
DataOutputStream out = new DataOutputStream(client.getOutputStream());
while (true){
BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
String line = read.readLine();
out.writeUTF(line);
out.flush();
System.err.println(in.readUTF());
}
Клиент
int port = 6666;
Socket server = new Socket("My ip", port);
DataInputStream in = new DataInputStream(server.getInputStream());
DataOutputStream out = new DataOutputStream(server.getOutputStream());
while (true)
{
String msg = in.readUTF();
if (msg.contentEquals("close"))
server.close();
else if (msg.equals("forward"))
{
out.writeUTF("I go forward master");
out.flush();
}
UPDATE:
Я решил эту проблему несколько секунд назад. Мой брандмауэр блокировал любое соединение, поэтому малина не могла подключиться.
Решение. Перейдите к брандмауэру и сетевому подключению и отключите его для частных и общедоступных подключений. Я использую Win10