繁体   English   中英

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

[英]Connection refused between a Python server and a Java client

问题:我想建立Python服务器和Java客户端之间的连接。 客户端引发异常:

java.net.ConnectException:连接被拒绝:连接

服务器代码:

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连接与相同的情况下工作正常。

它看起来好像是一个连接问题,而不是“Java”。 也许有关您的环境的更多信息会有所帮助。

同时:

如果你有一个telnet客户端,尝试运行它像“telnet localhost 31123”,这应该允许连接。 否则,您连接的服务器出了问题。

问候

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM