OSError: Плохой дескриптор файла в python 3

Я программист начального / промежуточного уровня, который в настоящее время пытается написать простой веб-сервер в Python 3. Однако всякий раз, когда я запускаю модуль, я получаю OSError: [Errno 9] Плохой дескриптор файла. Я искал интернет, ища ответы, но я, похоже, не могу понять это самостоятельно. Вот код и трассировка:

#import socket module from socket import * serverSocket=socket(AF_INET,SOCK_STREAM) #Prepare a server socket serverSocket.bind(('IP address', 8000)) serverSocket.listen(1) while True: #Establish the connection print('Ready to serve...') (connectionSocket, addr) = serverSocket.accept() print ('connected from',addr) try: message=connectionSocket.recv(1024) filename=message.split()[1] print (filename) filename=message.split()[1] f=open(filename[1:]) outputdata=f.read() #Send one HTTP header line into socket connectionSocket.send('HTTP/1.1 200 OK') #Send the content of the requested file to the client for i in range(0, len(outputdata)): connectionSocket.send(outputdata[i]) connectionSocket.close() except IOError as err: print ('IO error') #Send response message for file not found connectionSocket.send(b'file not found') #Close client socket connectionSocket.close() serverSocket.close() 

Выслеживать:

 Traceback (most recent call last): File "/Users/BigRed/Desktop/SOS/webServer.py", line 17, in <module> (connectionSocket, addr) = serverSocket.accept() File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/socket.py", line 184, in accept fd, addr = self._accept() OSError: [Errno 9] Bad file descriptor 

One Solution collect form web for “OSError: Плохой дескриптор файла в python 3”

Когда есть OIError, вы вызываете serverSocket.close() . Но при повторном входе в цикл while вы вызываете serverSocket.accept() без вызова serverSocket=socket(AF_INET,SOCK_STREAM) , и это не удается, потому что вы вызвали serverSocket=socket(AF_INET,SOCK_STREAM) close()

Посмотреть это сообщение

Надежда помощь

PD: разработчики django не используют сокет регулярно. знак равно

  • Django 1.6.1, Python 3.3.2, uwsgi 2.0 - ошибка uwsgi и не запускается
  • CherryPy с Cheetah как плагин + инструмент - пустые страницы
  • Можно ли использовать несколько языков программирования на одном веб-сайте?
  • Когда использовать Tornado, когда использовать Twisted / Cyclone / GEvent / other
  • Хороший многопоточный веб-сервер python?
  • Можно ли запустить скрипт Python в качестве службы?
  • Служба uwsgi не запускается
  • Как копировать / клонировать виртуальную среду с сервера на локальную машину
  • Как веб-сервер python преодолевает GIL
  • Доступ к приложению Django с других компьютеров
  • Обратный прокси-сервер, поддерживающий чистый веб-сервер python?
  •  
    Interesting Posts for Van-Lav

    Как создать карту типа OUTPUT для типа класса?

    Как отображать только левую и нижнюю границу рамки в matplotlib?

    Необходимые виджеты для отображения 1D консольного приложения

    Как предотвратить попытку поймать каждую возможную строку в python?

    Ускорение решения iloc в рамке данных pandas

    Поиск последнего вхождения подстроки в строке, заменяя это

    Соответствие строки регулярного выражения Python?

    Python – Создать счетчик () из сопоставления, нецелые значения

    Python объединяет файлы doc в 1 файл документа

    Сохраняйте результат TFIDF для прогнозирования нового контента с помощью Scikit for Python

    Доступ к предыдущему значению в том же столбце DataFrame

    Использование виджета слайдера matplotlib для изменения клипа в изображении

    Что лучше, ConfigObj или ConfigParser?

    Вызов одного метода из другого в том же классе в Python

    matplotlib color в 3d-графике из набора данных x, y, z без использования контура

    Python - лучший язык программирования в мире.