def serve(): # 预分配线程10个 server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) # 注册服务 route_guide_pb2_grpc.add_RouteGuideServicer_to_server( RouteGuideServicer(), server) # 监听端口 server.add_insecure_port('[::]:50051') server.start() print("main thread. ", threading.currentThread()) try: while True: # 主线程不停的产生下行 time.sleep(1) new_msg_to_client = route_guide_pb2.RouteNote( message="come from server %s" % get_time(), location=route_guide_pb2.Point(latitude=100, longitude=99)) _send_queue.put_nowait(new_msg_to_client) except KeyboardInterrupt: server.stop(0)
def make_route_note(message, latitude, longitude): return route_guide_pb2.RouteNote( message=message, location=route_guide_pb2.Point(latitude=latitude, longitude=longitude))
def make_route_note(message, lat, lng): return route_guide_pb2.RouteNote(message=message, location=route_guide_pb2.Point(lat=lat, lng=lng))
def make_route_note(message, latitude, longitude): route_note = route_guide_pb2.RouteNote(message=message) route_note.location.latitude = latitude route_note.location.longitude = longitude return route_note