我正在创建python网络服务器,如果我在加载2个文件后关闭了连接,则页面无法完全加载。
我尝试了不同的方法,例如多个线程,每个ip限制1个连接,并将close方法移动到另一个位置,但是仍然无法正常工作。在其中一种方法中,在未注释关闭函数和断点的情况下,页面可以正常加载。
while True:
serve_thread = Thread(target=serve)
conn, addr = SERVER_SOCKET.accept()
serve_thread.start()
request = conn.recv(256)
if b"GET" in request:
request = ((request.decode()).rstrip("\r\n").split()[1])[1:]
print(request)
if request is '':
requested_file = open("index.html", "rb")
data = requested_file.read()
requested_file.close()
conn.sendall(OK_HEADER + data)
elif exists(request):
requested_file = open(request, "rb")
data = requested_file.read()
conn.sendall(OK_HEADER + data)
else:
requested_file = open("notFound.html", "rb")
data = requested_file.read()
requested_file.close()
conn.sendall(NOT_FOUND_HEADER + data)
#conn.close()
#return
如果我尝试使用带注释的close方法的代码,则页面加载良好,但仍保持加载状态。相反,如果我取消注释close方法,则页面无法完全加载。
有任何提示吗?