运行一个超级简单的and服务器,在大多数情况下,只需要从第三方脚本的请求中剥离查询信息并返回一些文件:
def run(server_class=HTTPServer, handler_class=MyHandler, port=xxx):
server_address = ('', port)
httpd = server_class(server_address, handler_class)
print ('Starting httpd...')
httpd.serve_forever()
服务器必须返回的一个对象是一个超文本标记语言页面,它加载一些javascript,然后加载three.js
,然后从同一服务器加载大量对象。
这是可行的,但在重新加载1-5次后,通常会导致WinError[10053]
和服务器锁定!在此之后,连接将被拒绝或超时。不确定这是因为请求太多,还是与Three.js的加载函数的连接有关。
这花了几个小时,我找不到一个具体的解决方案,所以我会在下面发布一个答案。请随时加入其他答案
发布于 2018-07-10 16:49:02
通过对服务器/处理程序进行多线程处理,我至少能够处理一个用户。这可能仍然是一个吞吐量问题,但现在已经足够了:
class ThreadingHTTPServer(socketserver.ThreadingMixIn, HTTPServer):
pass
def run(server_class=ThreadingHTTPServer, handler_class=MyHandler, port=xxx):
server_address = ('', port)
httpd = server_class(server_address, handler_class)
print ('Starting httpd...')
httpd.serve_forever()
我尝试过/失败过的其他一些事情:
allow_reuse_address
= True/False //No effectclose_connection
= True //No effect希望这能救人!
https://stackoverflow.com/questions/51260910
复制相似问题