Python - невозможно подключить клиента к серверу (в Windows 2012 R2) с помощью модуля сокета - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь создать простое клиент-серверное приложение, используя модуль сокета, и если я использую «localhost» в качестве HOST, он работает хорошо, но когда я пытаюсь установить соединение между моим компьютером и удаленным Windows Server Клиент 2012 R2 не может подключиться к серверу. Вот мои сценарии:

SERVER

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] Попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, потому что подключенный хост не смог ответить

1 Ответ

0 голосов
/ 10 января 2019

Решение состоит в том, чтобы добавить правило в брандмауэр Windows Server, чтобы разрешить сценарию сервера подключаться к сети домена.

...