Я пытаюсь написать очень простой сервер в python.Python 2.7/Linux: ошибка типа привязки библиотеки сокетов
import socket
import sys
# Create a TCP/IP socket to listen on
server = socket.socket(socket.SOL_SOCKET, socket.SOCK_STREAM)
# Prevent from 'address already in use' upon server restart
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
# Bind the socket to port 8081 on all interfaces
server_address = ('localhost', 8081)
print 'starting up on %s port %s' % server_address
server.bind(server_address)
Я прочитал то, что я думаю, чтобы быть правильной документации для библиотеки сокетов, и это говорит о том, что server.bind() принимает аргумент кортежа. Тем не менее, я получаю эту ошибку:
starting up on localhost port 8081
Traceback (most recent call last):
File "pyserver.py", line 14, in <module>
server.bind(server_address)
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
TypeError: argument must be string or read-only character buffer, not tuple
Я изменил аргумент только строки, как следует предупреждение об ошибке, и я получаю ошибку
[Errno 98] Address already in use
. Я думал, что 8-я линия была на месте, чтобы предотвратить это. Что происходит?