I am using a server and the client programs from this link: http://www.bogotobogo.com/python/python_network_programming_tcp_server_client_chat_server_chat_client_select.php
When I run the client I encounter the following error:
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
I am using Python 3
, but I have changed all lines using print from Python 2 to 3
.
Here is the 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 , [], [])
While the
fileno()
method works on normal IO objects (sys.stdout
,sys.stderr
,sys.stdin
andsocket.socket
), the IDLE Python IDE changes your IO objects which breaks this.So... if you get this error, run the command from straight up Python instead.