【发布时间】:2015-10-10 11:15:38
【问题描述】:
我正在使用Bottle 服务器来实现我自己的服务器,使用的实现与简单的“hello world”here 相距不远,我自己的实现是(当然没有路由部分):bottleApp =bottle.app()
bottleApp.run(host='0.0.0.0',port=80, debug=true)
我的服务器一直没有响应,然后我进入浏览器:Connection reset by peer, broken pipe errno 32
日志给了我几乎完全相同的堆栈跟踪,例如question。
到目前为止我尝试了什么,但没有成功:
用 try 包裹服务器运行行,除了类似的东西,显示here“mhawke”的答案。 这停止了日志中的错误消息,显然是因为我在
except子句中捕获了它们,但问题是当捕获这样的异常时,这意味着我们已经被抛出run方法上下文,我想捕获它在某种程度上不会导致我的服务器崩溃。
如果不触及bottle的内部实现文件,我不知道它是否可能。在服务器运行行之前添加:
from signal import signal, SIGPIPE, SIG_DFL signal(SIGPIPE,SIG_DFL)
正如here 所建议的那样,但它似乎对不出现 Broken pipe\connection reset 错误和服务器响应没有任何影响。我还想尝试第二个答案here,但我不知道在
bottle服务器的上下文中该代码的位置。
【问题讨论】:
-
要获得这方面的帮助,我认为您需要发布代码以获取问题的完整最小示例。
-
除了我已经写过或提到过的,真的没有其他相关的代码了,服务器只是设置好了就忘了
-
要调试它,我们需要能够运行您正在运行的完全相同的东西。
标签: python bottle broken-pipe sigpipe