/// <summary> /// 执行处理泵 /// </summary> /// <returns></returns> protected void RunPump() { //登记线程开始 RpcEnvironment.set_command_thread_start(); //monitor?.Stop(); int state = 0; Console.WriteLine($"命令请求泵({ZmqAddress})正在启动"); using (var socket = CreateSocket()) { //monitor = new NetMQMonitor(socket, $"inproc://pump_{Guid.NewGuid()}.rep", SocketEvents.All); OptionSocktet(socket); socket.Connect(ZmqAddress); OnConnected(socket); Console.WriteLine($"命令请求泵({ZmqAddress})已启动"); while (RpcEnvironment.NetState == ZmqNetStatus.Runing) { state = DoWork(socket); if (state == -1) { break; } } socket.Disconnect(ZmqAddress); } //登记线程关闭 RpcEnvironment.set_command_thread_end(); OnTaskEnd(state); }
/// <summary> /// 执行处理泵 /// </summary> /// <returns></returns> protected void RunPump() { //登记线程开始 RpcEnvironment.set_command_thread_start(); //monitor?.Stop(); int state = 0; Console.WriteLine($"命令请求泵({ZmqAddress})正在启动{this.GetType().Name}"); using (var socket = CreateSocket()) { //monitor = new NetMQMonitor(socket, $"inproc://pump_{Guid.NewGuid()}.rep", SocketEvents.All); OptionSocktet(socket); socket.Connect(ZmqAddress); OnConnected(socket); Console.WriteLine($"命令请求泵({ZmqAddress})已启动{this.GetType().Name}"); while (m_state == 4 && RpcEnvironment.NetState == ZmqNetStatus.Runing) { state = DoWork(socket); if (state == -1) { Console.WriteLine($"命令请求泵({ZmqAddress})正在错误状态{this.GetType().Name}"); break; } } Console.WriteLine($"命令请求泵({ZmqAddress})正在关闭{this.GetType().Name}"); try { OnDeConnected(socket); } catch (Exception e) { } try { socket.Disconnect(ZmqAddress); } catch (Exception e) { } } Console.WriteLine($"命令请求泵({ZmqAddress})已关闭{this.GetType().Name}"); //登记线程关闭 RpcEnvironment.set_command_thread_end(); thread = null; OnTaskEnd(state); }