2

我正在尝试列出服务器上目录的内容。如果客户端和服务器代码在同一台机器上执行,它可以完美运行。但是,使用服务器的 IP 从另一台机器运行客户端代码会给我一个Errno 111:Socket 错误。拒绝连接

服务器代码:

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/')
4

1 回答 1

2

尝试将服务器绑定到 0.0.0.0 而不是 localhost...

server = SimpleXMLRPCServer(('0.0.0.0', 9000), logRequests=True)
于 2015-06-11T04:20:22.890 回答