我正在使用服务器来实现我自己的服务器,使用的实现距离这里Bottle
简单的“hello world”不远 ,我自己的实现是(当然没有路由部分):
bottleApp =bottle.app()
bottleApp.run(host='0.0.0.0',port=80, debug=true)
我的服务器一直没有响应,然后我进入浏览器:Connection reset by peer
,broken pipe errno 32
日志给了我几乎完全相同的堆栈跟踪,例如问题。
到目前为止,我尝试了什么,但没有成功:
用 try except 包装服务器运行行,例如,此处显示 了“mhawke”的答案。这停止了日志中的错误消息,显然是因为我在
except
子句中捕获了它们,但问题是当捕获这样的异常时,这意味着我们已被抛出run
方法上下文,我想以某种方式捕获它不会导致我的服务器崩溃。
我不知道它是否可能不触及bottle
.在服务器运行行之前添加这个:
from signal import signal, SIGPIPE, SIG_DFL signal(SIGPIPE,SIG_DFL)
正如这里所建议的,但它似乎对不出现 Broken pipe\connection reset 错误和服务器响应没有任何影响。我还想在这里尝试第二个答案,但我不知道在
bottle
服务器上下文中的何处定位此代码。