此样本代码 4-6 dynamic_dispatch.py 启动服务器并快速关闭它。

This sampel code 4-6 dynamic_dispatch.py starts a server and quickly shuts it down.

这应该在端口 10310 上创建一个日历服务器。遗憾的是代码运行并快速退出,没有错误。可能是什么问题?根据我正在阅读的扭曲的 O'reily 书,我应该能够去 localhost:10310/2013 并查看一个小日历。

from twisted.internet import reactor
from twisted.web.resource import Resource, NoResource
from twisted.web.server import Site

from calendar import calendar

class YearPage(Resource):
    def __init__(self, year):
        Resource.__init__(self)
        self.year = year

    def render_GET(self, request):
        return "<html><body><pre>%s</pre></body></html>" % (calendar(self.year),)

class CalendarHome(Resource):
    def getChild(self, name, request):
        if name == '':
            return self
        if name.isdigit():
            return YearPage(int(name))
        else:
            return NoResource()

    def render_GET(self, request):
        return "<html><body>Welcome to the calendar server!</body></html>"

print("pop")
root = CalendarHome()
factory = Site(root)
reactor.listenTCP(10310, factory)
reactor.run

感谢您的反馈。

reactor.run 应该是 reactor.run()。例如,参见 this pagereactor.run是一个函数,而reactor.run()调用函数。