Я получаю эту ошибку для клиентской части сервера сокетов, которую я учусь делать. Я искал ошибку и нашел несколько статей, но, похоже, они не связаны с моей проблемой.
Traceback (most recent call last):
File "C:/Users/Sam/PycharmProjects/prog0/client.py", line 13, in <module>
socketRead, socketWrite, socketError = select.select(sockets, [], [])
OSError: [WinError 10038] An operation was attempted on something that is not a socket
Может кто-нибудь помочь объяснить мне, в чем может быть проблема, потому что, честно говоря, понятия не имею. Клиент подключается к серверу до появления этой ошибки.
import select
import socket
import sys
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
IP_ADDRESS = '127.0.0.1'
PORT = 12000
server.connect((IP_ADDRESS, PORT))
while True:
sockets = [sys.stdin, server]
socketRead, socketWrite, socketError = select.select(sockets, [], [])
for s in socketRead:
if s == server:
msg = s.recv(1024)
print(msg)
else:
msg = sys.stdin.readline()
server.send(msg)
sys.stdout.write("<You>")
sys.stdout.write(msg)
sys.stdout.flush()
server.close()