Python SimpleXMLRPCServer: ошибка сокета, соединение отклонено

Я пытаюсь составить список содержимого каталога на сервере. Если код клиента и сервера выполняется на одном компьютере, он работает отлично. Тем не менее, выполнение клиентского кода с другого компьютера с использованием IP- адреса сервера приводит к ошибке Errno 111:Socket Error. В соединении отказано

Код сервера:

from SimpleXMLRPCServer import SimpleXMLRPCServer
import logging
import os

# Set up logging
logging.basicConfig(level=logging.DEBUG)

server = SimpleXMLRPCServer(('localhost', 9000), logRequests=True)

# Expose a function
def list_contents(dir_name):
    logging.debug('list_contents(%s)', dir_name)
    return os.listdir(dir_name)
server.register_function(list_contents)

try:
    print 'Use Control-C to exit'
    server.serve_forever()
except KeyboardInterrupt:
    print 'Exiting'

Код клиента:

import xmlrpclib

proxy = xmlrpclib.ServerProxy('http://192.168.239.148:9000')
print proxy.list_contents('/home/thejdeep/rpc_test/fd/')

1 ответ

Решение

Попробуйте привязать сервер к 0.0.0.0, а не к localhost...

server = SimpleXMLRPCServer(('0.0.0.0', 9000), logRequests=True)
Другие вопросы по тегам