Python xml-rpc не печатает вывод

Я пытаюсь заставить пример учебника 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 года. Есть какая-то разница в синтаксисе или я делаю что-то не так.

Сам учебник находится здесь http://www.ibm.com/developerworks/webservices/library/ws-pyth10/index.html

Заранее спасибо!

1 ответ

Решение

Я думаю, что что-то блокирует низкий уровень bind вызовите порт 8888 в вашем серверном процессе. Бежать netstat -tlp как root, если можете. Если не можете, используйте telnet localhost 8888 чтобы увидеть, что если что-то слушает.

Другие вопросы по тегам