我正在尝试使用套接字()来执行基本程序。当我在我的电脑上运行服务器和客户端它工作正常。但如果我在另一台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))
答案 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))