Учебники

Python — RPC JSON-сервер

JSON или JavaScript Object Notation — это легкий формат обмена данными. Людям легко читать и писать. Машины легко разбираются и генерируются. Вызов RPC, выполненный на основе JSON, способен отправлять данные гораздо компактнее и эффективнее, чем обычный вызов RPC на основе XML. Модуль Python jsonrpclib способен создать простой сервер и клиент на основе JSON.

пример

В приведенном ниже примере мы создаем простой сервер JSON и создаем на нем функцию. Эта функция разбивает большой список на меньшие списки, в которых указывается длина аргумента, а также сам аргумент.

# server program
from jsonrpclib.SimpleJSONRPCServer import SimpleJSONRPCServer

def findlen(*args):

	res = []
	for arg in args:
		try:
			lenval = len(arg)
		except TypeError:
			lenval = None
		res.append((lenval, arg))
	return res

def main():
	server = SimpleJSONRPCServer(('localhost', 1006))
	server.register_function(findlen)
	print("Start server")
	server.serve_forever()
if __name__ == '__main__':  
    main()



# Call by client
from jsonrpclib import Server
def main():
    conn = Server('http://localhost:1006')
    print(conn.findlen(('a','x','d','z'), 11, {'Mt. Abu': 1602, 'Mt. Nanda': 3001,'Mt. Kirubu': 102, 'Mt.Nish': 5710}))
if __name__ == '__main__':
    main()

Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод: