Exemplo n.º 1
0
 public void SetItemCount(int itemCount)
 {
     if (itemCount > 0 && itemCount != StatisticsManage.Count)
     {
         StatisticsManage = new StatisticsManage(itemCount);
     }
 }
Exemplo n.º 2
0
        private HandleResult OnReceive(HPSocketCS.TcpClient sender, IntPtr pData, int length)
        {
            try
            {
                //获取消息

                if (length == 0)
                {
                    this.Dispose();
                    return(HandleResult.Error);
                }

                byte[] data = new byte[length];
                Marshal.Copy(pData, data, 0, length);

                recbuffer.Add(data);
                StatisticsManage.AddReceiveBytes(length);
                ProcessReceive();
            }
            catch (Exception)
            {
                this.Dispose();
                return(HandleResult.Error);
            }

            return(HandleResult.Ok);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 向管道绑定的另一端发送数据
        /// </summary>
        /// <param name="msg"></param>
        public virtual void SendData(object msg)
        {
            if (Interlocked.CompareExchange(ref _isDisposed, 0, 0) != 0)
            {
                return;
            }
            var data = PacketCodecHandlerInternal.Encode(msg);

            StatisticsManage.AddSendMessages();
            this.SendData(data);
        }
Exemplo n.º 4
0
 /// <summary>
 /// 触发消息事件
 /// </summary>
 /// <param name="e"></param>
 internal virtual void OnMessageComing(MessageComingArgs e)
 {
     try
     {
         if (MessageComing == null)
         {
             return;
         }
         StatisticsManage.AddReceiveMessages();
         MessageComing(this, e);
     }
     catch (System.Exception ex)
     {
         SystemRunErrorPorvider.CatchException(ex);
     }
 }