gpt4 book ai didi

java - Python 服务器和 Java 客户端之间的连接被拒绝

转载 作者:行者123 更新时间:2023-12-02 07:09:53 24 4
gpt4 key购买 nike

问题: 我想在 Python 服务器和 Java 客户端之间建立连接。客户端抛出异常:

java.net.ConnectException: Connection refused: connect

服务器代码:

print('MOTD/name system initialized!')
global people
welcome = socket.socket()
welcome.bind((socket.gethostname(), 31123))
while True:
welcome.listen(1)
w, nouse = welcome.accept()
...
w.send(m.strip().encode())
w.close()

客户端代码:

Socket welcomesocket = new Socket("localhost", 31123);
BufferedReader motd = new BufferedReader(new InputStreamReader(welcomesocket.getInputStream()));
servs.set(i, motd.readLine());
welcomesocket.close();

问题一定是在 Java、Python 中 - 在相同情况下 Python 连接工作正常。

最佳答案

一个问题是python服务器正在绑定(bind)并接受与服务器主机名对应的IP地址,但客户端正在尝试连接到“localhost”;即环回 IP 地址。

客户端需要使用与服务器绑定(bind)相同的主机名/IP 地址。如果客户端和服务器在不同的机器上,那么你根本不能使用“localhost”。 (“localhost”名称通常表示 127.0.0.* 环回地址。顾名思义,到环回地址的连接“环回”到您要连接的主机;即环回连接不会断开客户端的机器/虚拟。

关于java - Python 服务器和 Java 客户端之间的连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15659132/

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