我正在尝试列出服务器上目录的内容。如果客户端和服务器代码在同一台机器上执行,则它可以正常工作。但是,使用服务器的IP从另一台计算机运行客户端代码会给我一个 Errno 111:套接字错误。拒绝连接
服务器代码:
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/')
答案 0 :(得分:2)
尝试将服务器绑定到0.0.0.0而不是localhost ...
server = SimpleXMLRPCServer(('0.0.0.0', 9000), logRequests=True)