import java.net.ServerSocket;
import java.net.Socket;
import java.io.IOException;
import java.io.OutputStream;
import java.io.InputStream;
public class ChatClient{
private final String serverName;
private final int serverPort;
private Socket socket;
private InputStream serverIn;
private OutputStream serverOut;
public ChatClient(String serverName, int serverPort) {
this.serverName = serverName;
this.serverPort = serverPort;
}
public static void main(String[] args){
ChatClient client = new ChatClient("raspberrypi", 6342);
if (!client.connect()){
System.err.println("Connect failed");
}else{
System.out.println("Connected");
}
}
private boolean connect(){
try{
this.socket = new Socket("raspberrypi", 6342);
this.serverOut = socket.getOutputStream();
this.serverIn = socket.getInputStream();
return true;
}catch (IOException e){
e.printStackTrace();
}
return false;
}
}
У меня есть запущенный сервер, ожидающий подключения клиента. Однако, поскольку я использую клиент на своем компьютере и сервер на моем raspberry pi, я продолжаю получать исключение неизвестного хоста. Я попытался ввести имя хоста raspberry pi, но, похоже, это не сработало. P.S. Возможно, я ошибаюсь в имени хоста.
Вы получаете UnknownHostException, что означает, что «IP-адрес [хоста] не может быть определен», так что да, ваш IP-адрес неверен.




Это не работает, потому что значение, которое вы указываете для первого аргумента (raspberrypi), не является допустимым именем хоста.
Вам нужно передать туда IP-адрес вашей малины в вашей сети. Если вы используете домашний маршрутизатор, вы даже можете установить статический IP-адрес для своей raspberry (это обычное дело, потому что без этого каждый раз, когда вы перезагружаете raspberry, вы можете получать другой адрес от DHCP-сервера).
После того, как вы узнаете адрес своей малины, просто замените "raspberrypi" на адрес (в форме «192.168.0.10» в зависимости от вашей конфигурации).
Вот как установить статический IP: https://www.raspberrypi.org/learning/networking-lessons/rpi-static-ip-address/
Edit the file /etc/dhcpcd.conf as follows:
Type sudo nano /etc/dhcpcd.conf at the command prompt.
Scroll to the bottom of the script, and add the following lines:
interface eth0 static ip_address=192.168.0.2/24 static routers=192.168.0.1 static domain_name_servers=192.168.0.1 interface wlan0 static ip_address=192.168.0.2/24 static routers=192.168.0.1 static domain_name_servers=192.168.0.1
- Save the file with ctrl + o and then exit nano with ctrl + x. Your Raspberry Pi will now boot up with the IP address 192.168.0.2 every time; we didn't use 192.168.0.1 as this is reserved for the router. You can of course use any address you like, but in the configuration above the range must be between 192.168.0.2 and 192.168.0.255.
Что происходит из командной строки при проверке связи с raspberrypi? Подозреваю, что имя хоста нигде не прописано, например в файле хостов Windows.