Ошибка 32 прерванного канала при попытке отправить данные клиенту - PullRequest
0 голосов
/ 27 октября 2019

В настоящее время я пытаюсь создать простой веб-сервер, который по запросу будет отправлять файлы html и css. Когда я запускаю его, он работает, но когда я пытаюсь подключиться к нему, он подключается, но затем он говорит, что соединение было закрыто, когда я оглядываюсь на сервер, он говорит, что соединение установлено, но затем выдает ошибку. «Код ошибки: 32 Сломанный канал».

После некоторых поисков я пришел к выводу, что сокет сам закрывается до того, как данные могут быть отправлены. Хотя я не мог найти никаких решений.

Вот конкретный кусок:

#Start listening
mysock.listen(80)
print("Listening for requests\n")

#Accept request
mysock.accept()
print("Connected\n")

#Send desired data
print("Sending data...")
try:
        mysock.send("Data here")

все идет хорошо. Затем я делаю это (имеет тот же эффект, если я пытаюсь получить доступ к нему с помощью браузера):

telnet localhost 80

Затем он выплевывает:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

Я возвращаюсь на сервер, и он говорит:

Creating socket...
Success!

Binding...
Success!

Listening for requests

Connected

Sending data...
Data transfer failed.
Error Code : 32
Broken pipe

Стоит сказать

Creating socket...
Success!

Binding...
Success!

Listening for requests

Connected

Sending data...
Success!

Connection closed
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...