两台计算机的Java unknownhostException

时间:2018-10-09 18:35:49

标签: java

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;

    }
}

我有一个正在运行的服务器,正在等待客户端加入。但是,由于我在计算机上使用客户端,而在树莓派上使用服务器,因此我不断收到未知的主机异常。我尝试将树莓派的主机名放入其中,但似乎不起作用。附言:我可能输入的主机名错误。

1 个答案:

答案 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
     
      
  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。
  2.