標籤:style blog http color os for 2014 ar
XMLRPC伺服器端代碼,定義了三個方法名,getMonth擷取所給月份的日曆,getYear擷取一年的日曆,getDict測試返回字典的效果。
xmlrpc_server.py:
#!/usr/bin/python# coding: utf-8import calendar, SimpleXMLRPCServer, time, string, os#建立 Server 對象class Calendar: def getMonth(self, year, month): if(type(year) is type("")): if(year.isdigit()): year=string.atoi(year) else: return "error,the argv must be number" if(type(month) is type("")): if(month.isdigit()): month=string.atoi(month) else: return "error,the argv must be number" return calendar.month(year,month) def getYear(self, year): if(type(year) is type("")): if(year.isdigit()): year=string.atoi(year) else: return "error,the argv must be number" return calendar.calendar(year) def getDict(self): dict={‘1‘:‘1‘,‘2‘:‘2‘,‘3‘:‘3‘} return dict#建立執行個體calendar_object = Calendar()server = SimpleXMLRPCServer.SimpleXMLRPCServer(("localhost", 8888))server.register_instance(calendar_object)#輸出資訊,等待連結print "Listening on port 8888"server.serve_forever()
用戶端:xmlrpc_client.py:
#!/usr/bin/python# coding: utf-8 import xmlrpclibserver = xmlrpclib.ServerProxy("http://localhost:8888")month = server.getMonth (2014,8)print monthyear = server.getYear(2888)print yeardict = server.getDict()print dictfor keys in dict.keys(): print "key=%s,value=%s"%(keys,dict[keys])
執行:
chmod u+x xmlrpc_server.py./xmlrpc_server.py
新的終端:
chmod u+x xmlrpc_client.py./xmlrpc_client.py
效果