Я пытаюсь создать простой сервер, и продолжать получать следующее сообщение об ошибке в IDLE:Python Socket программирования - ошибка дескриптора файла Bad
File "C:\Python27\lib\socket.py", line 202, in accept
sock, addr = self._sock.accept()
File "C:\Python27\lib\socket.py", line 170, in _dummy
raise error(EBADF, 'Bad file descriptor')
error: [Errno 9] Bad file descriptor
Это мой код. Я попытался понять, почему, и он имеет какое-то отношение к закрытию одного из сокетов, а затем пытается использовать его снова, но я действительно не понимаю, как я должен его исправить. Любая помощь приветствуется. :)
from socket import *
serverSocket = socket(AF_INET, SOCK_STREAM)
port=10101
serverSocket.bind(('',port))
serverSocket.listen(5)
while True:
print 'Ready to serve...'
connectionSocket, addr = serverSocket.accept()
try:
message = serverSocket.recv(1024)
filename = message.split()[1]
f = open(filename[1:])
outputdata = f.read()
connectionSocket.send("HTTP/1.1 200 OK\r\n\n")
for i in range(0, len(outputdata)):
connectionSocket.send(outputdata[i])
connectionSocket.close()
except IOError:
connectionSocket.send('HTTP/1.1 404 File not found\r\n\n')
connectionSocket.close()
serverSocket.close()
serverSocket.close()