[英]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.