我有这样的服务器:
from SimpleXMLRPCServer import SimpleXMLRPCServer
def ack(msg):
return input("Allow? ").lower() in ['y', 'yes']
server = SimpleXMLRPCServer(("localhost", 8080))
server.register_function(ack, "ack")
server.serve_forever()
这是一个客户:
import xmlrpclib
proxy = xmlrpclib.ServerProxy("http://localhost:8080")
with open(myfile) as mfd:
for line in mfd.readlines():
if proxy.ack(line):
print line
这会导致向客户端发送错误。故障代码&字符串是:
1
<type 'exceptions.NameError'>:name 'y' is not defined
我的假设是在服务器端消耗input
结果会破坏POST XML-RPC的优点。
我不想用two clients and a server编写某些方法 - 我有点像我要做的简单的1:1设置。
真的,我打开任何备用(python)解决方案。
答案 0 :(得分:1)
您正在使用input()
,您应该使用raw_input()
。试试这个:
return raw_input("Allow? ").lower() in ['y', 'yes']