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)