xml-rpc python 未显示输出

0 投票
1 回答
524 浏览
提问于 2025-04-17 05:03

我正在尝试让一个IBM的教程示例正常工作,但到现在为止还没有成功。

服务器:

import calendar, SimpleXMLRPCServer

#The server object
class Calendar:
    def getMonth(self, year, month):
        return calendar.month(year, month)

    def getYear(self, year):
        return calendar.calendar(year)


calendar_object = Calendar()
server = SimpleXMLRPCServer.SimpleXMLRPCServer(("localhost", 8888))
server.register_instance(calendar_object)

#Go into the main listener loop
print "Listening on port 8888"
server.serve_forever()

客户端:

import xmlrpclib

server = xmlrpclib.ServerProxy("http://localhost:8888")

month = server.getMonth(2002, 8)
print month

它应该打印出一个日历,但当我运行客户端时,它只是停在那里,只打印出“正在监听8000端口”。

我使用的是python 2.7.2,但这个教程是2002年9月写的。是不是有什么语法上的差异,或者我做错了什么?

这个教程的链接在这里 http://www.ibm.com/developerworks/webservices/library/ws-pyth10/index.html

提前谢谢你们!

1 个回答

1

我猜可能有什么东西在阻止你的服务器进程使用低级的 bind 调用去连接8888端口。你可以尝试以管理员身份运行 netstat -tlp 命令。如果你不能这样做,可以用 telnet localhost 8888 来看看有没有程序在监听这个端口。

撰写回答