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;
}
}
我有一个正在运行的服务器,正在等待客户端加入。但是,由于我在计算机上使用客户端,而在树莓派上使用服务器,因此我不断收到未知的主机异常。我尝试将树莓派的主机名放入其中,但似乎不起作用。附言:我可能输入的主机名错误。
答案 0 :(得分:0)
它不起作用,因为您提供给第一个参数(raspberrypi)的值不是有效的主机名。
您需要将树莓派的IP地址传递到该网络中。 如果您使用的是家用路由器,则甚至可以为树莓派设置静态IP(这很常见,因为如果没有这样做,每次重启树莓派时,您可能会从DHCP服务器获得不同的地址)。
知道树莓派的地址后,只需将"raspberrypi"
替换为该地址(根据您的配置,其格式为“ 192.168.0.10”)。
以下是设置静态IP的方法:https://www.raspberrypi.org/learning/networking-lessons/rpi-static-ip-address/
按如下所示编辑文件/etc/dhcpcd.conf:
在命令提示符下键入sudo nano /etc/dhcpcd.conf。
滚动到脚本的底部,然后添加以下行:
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
- 使用ctrl + o保存文件,然后 使用ctrl + x退出nano。您的Raspberry Pi现在将使用以下命令启动 每次IP地址192.168.0.2;我们没有使用192.168.0.1这样 为路由器保留。您当然可以使用任何地址 一样,但在以上配置中,范围必须介于 192.168.0.2和192.168.0.255。