У меня проблема с моей программой для сокетов Python [WinError 10057] - PullRequest
0 голосов
/ 12 февраля 2019

Я программировал простую программу сокет клиент-сервер, которая работала на двух разных компьютерах.Сервер - это рабочий стол со статическим IP-адресом, а клиент - ноутбук, подключенный к Wi-Fi.Оба используют Windows 10 в качестве операционной системы.Я также открыл порт брандмауэра.

Вот мой код.Этот код хорошо работает на одном компьютере, но WinError 10057 возникает, когда другой компьютер (мой ноутбук) пытается подключиться к серверу.

server.py

from socket import *
import sys

HOST = '0.0.0.0'
PORT = 16161
BUFSIZE = 1024
ADDR = (HOST, PORT)
CLIENT_NUM = 5

serverSocket = socket(AF_INET, SOCK_STREAM)

serverSocket.bind(ADDR)
print('bind')

serverSocket.listen(CLIENT_NUM)
print('listen')

while True:
    try:
        connectionSocket, addr_info = serverSocket.accept()
        print('accept')
        print('--client information--')
        print(connectionSocket)

        data = connectionSocket.recv(BUFSIZE)
        print('Received data:', data.decode())
        connectionSocket.send('OK'.encode())
        connectionSocket.close()

    except KeyboardInterrupt:
        sys.exit(0)

client.py

from socket import *
import sys

HOST = '*.*.*.*'    # server's ip address
PORT = 16161
BUFSIZE = 1024
ADDR = (HOST, PORT)

clientSocket = socket(AF_INET, SOCK_STREAM)

try:
    clientSocket.connect_ex(ADDR)
    clientSocket.send('Hello!'.encode())    # WinError 10057 occurs
except Exception as e:
    print(e)
    print('%s:%s' % ADDR)
    sys.exit(1)

print('connect is success')

receive = clientSocket.recv(BUFSIZE)
print(receive.decode())

clientSocket.close()

1 Ответ

0 голосов
/ 14 февраля 2019

Я исправил это.Я попросил мою организацию открыть порты брандмауэра, и соединение было успешным, когда были открыты порты брандмауэра.

...