Example #1
0
 /// <summary>
 /// 发送信息
 /// </summary>
 /// <param name="topicName">主题</param>
 /// <param name="data">数据</param>
 public void Send(string topicName, object data)
 {
     TcpClient client = ConnectRemote(this._remoteEndPoint);
     NetworkStream stream = client.GetStream();
     if (stream.CanWrite)
     {
         NetPacketTcpAsynService asynService = new NetPacketTcpAsynService(stream);
         asynService.OnAfterSendPacket += new AfterSendPacketHandler(delegate(NetPacketHead h)
                                                                         {
                                                                             client.Close();
                                                                             stream.Close();
                                                                         });
         asynService.OnSendErrorHandler += new SendErrorHandler(asynService_OnSendErrorHandler);
         asynService.SendMessage(CreateNetPacket(topicName, data));
     }
 }
Example #2
0
        /// <summary>
        /// 接受事件
        /// </summary>
        private void ReceiveDataFromServer()
        {
            _asynService = new NetPacketTcpAsynService(_client.GetStream());
            _asynService.OnReceivedPacket += ClientReceivedPacket;
            _asynService.OnReceiveErrorHandler += delegate(NetServiceErrorReason reason)
                                                     {
                                                         LogManger.Error(reason, this.GetType());
                                                         ReceiveErrorHandler(reason);
                                                     };
            _asynService.PickMessage();
            #region 同步
            //while (_isReceivingStarted)
            //{
            //    try
            //    {

            //        NetworkStream stream = _client.GetStream();
            //        NetPacket packet = new NetPacketTcpService(stream).ReceivePacket();
            //        if (packet != null && packet.Command != null && packet.Command.Data != null)
            //        {
            //            OnOnReceiveMessageEventHandler(packet.Command.Data);
            //        }
            //    }
            //    catch (Exception e)
            //    {
            //        LogManger.Error(e, this.GetType());
            //    }
            //    //Thread.Sleep(50);
            //}
            #endregion
        }