代码拉取完成,页面将自动刷新
import zmq
from threading import Thread
import pickle
context = zmq.Context()
# 远程过程调用的绑定端口
rpc_bind_address = "tcp://*:5558"
# RPC服务处理类
class RPCHandler:
def __init__(self):
self._functions = {}
# 创建上下文对象
t2 = Thread(target=self.rpc_server, args=())
# t2.daemon = True
t2.start()
def register_function(self, func):
self._functions[func.__name__] = func
def handle_connection(self, data):
# print(data)
func_name, args, kwargs = pickle.loads(data)
print(func_name, args, kwargs)
result = self._functions[func_name](*args, **kwargs)
return result
def rpc_server(self):
# socket不能定义在线程外!
self.reply_socket = context.socket(zmq.REP)
self.reply_socket.bind(rpc_bind_address)
while True:
data = self.reply_socket.recv()
result = None
try:
result = self.handle_connection(data)
except Exception as e:
print(e)
finally:
self.reply_socket.send_json({"result": result})
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。