1

我制作了一个简单的 Python Web 服务器。服务器运行良好,连接到浏览器并发送数据。当我将文件包含到我发送的 HTML 文档中时(例如<img src="image_path"/>

它不想发送数据,也不想发送其他数据,比如样式表。我正在使用 Chrome Web 浏览器,并获得了这些标题:

GET /img.jpg HTTP/1.1
Host: localhost
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.17 (KHTML, like Gecko) 
Chrome/24.0.1312.57 Safari/537.17
Accept: */*
Referer: http://localhost/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: pl,en-US;q=0.8,en;q=0.6,nb;q=0.4
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.3

我收到此错误消息:

Unhandled exception in thread started by <function handler at 0x02C28150>
Traceback (most recent call last):
File "C:\Users\CamIce\Desktop\PyServer v2\server.py", line 16, in handler
data = clientsock.recv(BUFSIZ)
OSError: [WinError 10038] Próbowano przeprowadzić próbę na obiekcie, który nie jest  
gniazdem

此消息的代码太长,所以我不得不将其发布在 pastebin 上:http: //pastebin.com/n19J0y6A

4

1 回答 1

0

您是否尝试将传入套接字绑定到不同的非特权端口而不是端口 80(例如,高于 1024 的端口)?在我看来,这似乎是 Windows 防火墙以某种方式干扰,或者可能是其他一些权限问题。在 recv() 调用之前您没有收到错误对我来说似乎很奇怪,但我不太了解 WINdows。

我没有立即看到您的代码有任何问题。

于 2013-02-26T21:42:06.203 回答