a2s_client.py 997 B

12345678910111213141516171819202122232425262728293031
  1. # coding:utf-8
  2. import grpc
  3. from proto import service_pb2, service_pb2_grpc
  4. def a2s_execute(a2s_ip: str, topic: str, timeout: int, bytes_data: bytes):
  5. """
  6. a2e服务调用
  7. :param a2s_ip: 192.168.3.240:9090 # 服务地址
  8. :param topic: t2v 主体
  9. :param timeout: 60 超时时间
  10. :param bytes_data: 请求字段
  11. :return: bytes or None
  12. """
  13. try:
  14. if not (a2s_ip and topic):
  15. raise IOError("参数错误:a2s_ip和topic不能为空!")
  16. with grpc.insecure_channel(a2s_ip) as channel:
  17. # 客户端实例
  18. stub = service_pb2_grpc.CallerStub(channel)
  19. print(topic,timeout,bytes_data)
  20. # 调用服务端方法
  21. response = stub.Call(service_pb2.Request(topic=topic, timeout=timeout, data=bytes_data))
  22. print("==>",response)
  23. # 获取结果
  24. data = response.data
  25. return data
  26. except Exception as e:
  27. print(e)
  28. return None