Python - 无法使用套接字模块将客户端与服务器连接(在 Windows 2012 R2 上)

Python - can't connect client with server (on Windows 2012 R2) using socket module

我正在尝试使用套接字模块创建简单的客户端-服务器应用程序,如果我使用 'localhost' 作为主机,它运行良好,但是当我尝试在我的计算机之间建立连接时和远程 Windows Server 2012 R2 客户端无法连接到服务器。这是我的脚本:

服务器

import socket
HOST = '172.22.5.223' # Windows Server IP
PORT = 9999
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server_socket.bind((HOST, PORT))
server_socket.listen(10)
print("Listening")
s = server_socket.accept()
print("Connected")

客户端

import socket
HOST = '172.22.5.223'
PORT = 9999
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
    sock.connect((HOST, PORT))
except Exception as e:
    print("Cannot connect to the server:", e)
print("Connected")

错误:[WinError 10060]连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应

解决方案是在Windows 服务器防火墙中添加一条规则,以允许服务器脚本连接到域网络。