我想在一个网络中连接两台电脑。其中一个应该通过TCP向另一个发送通知。我有一个“服务器”(Python脚本)套接字,等待“客户机”(Jar文件)发送一个特定的字符串,然后它给我一个通知。当我在一台PC机上试用时,这个功能非常好。但是当我想执行预期的操作时,“客户机”PC机的.jar
会给我一个错误,即连接被拒绝。我必须打开另一台电脑上的特定端口吗?否则会引起什么问题?一台电脑运行Fedora,另一台运行Windows8
“服务器代码”
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("", 5005))
s.listen(1)
try:
while True:
komm, addr = s.accept()
while True:
data = komm.recv(1024)
if data == "$":
noty()
if not data:
komm.close()
break
finally:
s.close()
“客户”代码
^{pr2}$
你的服务器可能绑定到了错误的接口
呼叫
不设置接口将允许程序选择要连接到的ip地址/接口。在
由于您的客户机正试图连接到
("192.168.178.25", 5005);
,您可能需要在bind调用中输入一个IP地址,以防止服务器选择错误的IP接口。在示例:
^{pr2}$如果它的权限被拒绝,那么有东西阻止了你与计算机的连接。我会试着打开一个港口看看是否有效。如果您想要一个java套接字的例子,可以看看我的SUPER Tic-Tac-Toe Multiplayer,它使用java套接字向客户机发送字符串,作为表示客户机应该采取的操作的一种方式。在
相关问题 更多 >
编程相关推荐