gpt4 book ai didi

java - 不确定 Java 中的客户端服务器 IP 配置

转载 作者:行者123 更新时间:2023-11-30 09:40:36 24 4
gpt4 key购买 nike

我编写了一个简单的客户端-服务器对,向服务器发送一个对象。我已经测试了代码并且它可以工作,前提是我使用 LOCALHOST 作为服务器名称。

当尝试使用我自己的 IP 地址连接到服务器时,客户端不断超时。我忍不住想我错过了一个技巧,如果有人可以看一下代码,我将不胜感激。非常感谢,J。

客户

ObjectOutputStream oos = null;
ObjectInputStream ois = null;
Socket socket = null;
Person p = null;

try {
// My IP address entered here..
socket = new Socket("xx.xx.xxx.xxx", 3000);
// open I/O streams for objects
oos = new ObjectOutputStream(socket.getOutputStream());
ois = new ObjectInputStream(socket.getInputStream());


/*
// read an object from the server
p = (Person) ois.readObject();
System.out.print("Name is: " + p.getName());
oos.close();
ois.close();*/

//write object to the server
// p = new Person("HAL");
oos.writeObject(new Person("HAL"));
oos.flush();
ois.close();
oos.close();

} catch(Exception e) {
System.out.println(e.getMessage());
}

服务器

public Server() throws Exception {
server = new ServerSocket(3000);
System.out.println("Server listening on port 3000.");
this.start();

}

最佳答案

您需要让您的服务器绑定(bind)到 0.0.0.0(通配符,您机器上的所有接口(interface))或您希望它监听的特定 IP。您正在使用的 ServerSocket 构造函数只需要一个端口号并绑定(bind)到将解析为 127.0.0.1

localhost
server = new ServerSocket(3000, 5, InetAddress.getByName("0.0.0.0"));

编辑添加:第二个参数是backlog 大小。这是在额外的连接尝试导致“连接被拒绝”之前可以排队等待您接受()它们的连接数。

关于java - 不确定 Java 中的客户端服务器 IP 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9314057/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com