Я сделал модель сервера-клиента в Python для Linux. Когда я запускаю сервер в Ubuntu Subsystem в Windows, он работает просто отлично. Но когда я запускаю клиент (который пытается подключиться к серверу), я получаю эту ошибку:

Traceback (most recent call last):
File "client.py", line 64, in <module>
s.connect('127.0.0.1',port)
File "client.py", line 19, in connect
self.sock.connect((host, port))
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 111] Connection refused

Сервер прослушивает localhost и port = 14345, и клиент пытается подключиться к нему. Я также попытался telnet 127.0.0.1 14345 и он дал мне ту же ошибку:

Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

Я также попытался netstat -an в cmd на Windows, и это показало это

TCP    127.0.1.1:14345        0.0.0.0:0              LISTENING

Это означает, что сервер действительно прослушивает, но клиент из подсистемы Linux не может подключиться к нему.

Также код отлично работает на реальном Linux (я имею в виду Ubuntu, установленный на жестком диске).

1 ответ1

0

Если вы используете сторонние антивирусы / брандмауэры в Windows, попробуйте временно отключить их и посмотреть, вернется ли соединение в нормальное состояние. В качестве меры безопасности вы можете временно использовать встроенные антивирусные программы / брандмауэры Windows.

Известно, что сторонние брандмауэры плохо работают с Windows Subsystem для Linux. Подробности см. В разделе « Нет интернета с сторонним AV/Firewall» и « Обновление apt-get и ошибка установки» .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .