J'utilise un serveur et les programmes clients à partir de ce lien: http://www.bogotobogo.com/python/python_network_programming_tcp_server_client_chat_server_chat_client_select.php
Lorsque j'exécute le client, je rencontre l'erreur suivante:
Traceback (most recent call last):
File "client.py", line 26, in client
read_sockets, write_sockets, error_sockets = select.select(socket_list , [], [])
io.UnsupportedOperation: fileno
J'utilise Python 3
, mais j'ai modifié toutes les lignes à l'aide de l'impression à partir de Python 2 to 3
.
Voici le code:
while 1:
socket_list = [sys.stdin, s]
# Get the list sockets which are readable
read_sockets, write_sockets, error_sockets = select.select(socket_list , [], [])
Alors que la méthode fileno()
fonctionne sur les objets normaux IO (sys.stdout
, sys.stderr
, sys.stdin
et socket.socket
), l'IDLE Python IDE modifie vos objets IO ce qui casse cela).
Donc ... si vous obtenez cette erreur, exécutez la commande directement depuis Python à la place.