Python Socket客户端无法在其他PC上运行

时间:2017-11-01 20:03:42

标签: python sockets

我正在尝试使用套接字()来执行基本程序。当我在我的电脑上运行服务器和客户端它工作正常。但如果我在另一台PC(在同一网络上)运行客户端它不起作用。我已经尝试断开防火墙和防病毒软件...... 这是代码:

服务器:

IP = '192.168.1.136'
PORT = 8080 


server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 
server.bind((IP, PORT)) 
server.listen(4) 
    (conn, (ip,port)) = server.accept()

客户端:

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
host = '192.168.1.136'                       
port = 8080
s.connect((host, port))

2 个答案:

答案 0 :(得分:0)

这些在服务器上应该是这样的

host = socket.gethostname()                           
port = 8080   

客户端看起来像这样

host = '10.0.0.101'
port = 8080

同一网络中的IP地址与网络外部不同。在我的示例中,我的路由器是10.0.0.1(我的提供商的默认值)。要访问我的网络中的另一台计算机,我将使用10.0.0。(无论路由器分配给服务器计算机)。在命令提示符下,键入ipconfig并查找ipv4地址。这应该是你要找的东西

答案 1 :(得分:0)

如果你想让另一台电脑连接到服务器,服务器ip必须是''或'0.0.0.0'试试这个:

服务器:

IP = ''
PORT = 8080 


server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 
server.bind((IP, PORT)) 
server.listen(4) 
(conn, (ip,port)) = server.accept()

客户端:

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
host = '192.168.1.136'                       
port = 8080
s.connect((host, port))