Я пытаюсь создать очень простой сервер на python, который прослушивает порт, создает TCP-соединение, когда клиент пытается подключиться, получает данные, отправляет что-то обратно, а затем снова прослушивает (и повторяет процесс на неопределенный срок), Это то, что у меня есть до сих пор:
from socket import *
serverName = "localhost"
serverPort = 4444
BUFFER_SIZE = 1024
s = socket(AF_INET, SOCK_STREAM)
s.bind((serverName, serverPort))
s.listen(1)
print "Server is ready to receive data..."
while 1:
newConnection, client = s.accept()
msg = newConnection.recv(BUFFER_SIZE)
print msg
newConnection.send("hello world")
newConnection.close()
Иногда это работает отлично (если я укажу свой браузер на "localhost: 4444", сервер распечатает запрос HTTP GET, а веб-страница распечатает текст "hello world" ). Но я получаю следующее сообщение об ошибке случайным образом, когда я пытаюсь запустить сервер после его закрытия за последние несколько минут:
Traceback (most recent call last):
File "path\server.py", line 8, in <module>
s.bind((serverName, serverPort))
File "C:\Python27\lib\socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
error: [Errno 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted
Я программирую на python, используя Windows 7. Любые идеи о том, как исправить это?