Example #1
0
        /// <summary>
        /// 释放资源
        /// </summary>
        /// <param name="disposing">是否也释放托管资源</param>
        protected virtual void Dispose(bool disposing)
        {
            this.CloseSocket();
            this.recvEventArg.Dispose();

            if (disposing)
            {
                this.RemoteEndPoint = null;
                this.recvBuilder    = null;
                this.TagBag         = null;
                this.socketRoot     = null;
            }
        }
Example #2
0
 /// <summary>
 /// 调试视图
 /// </summary>
 /// <param name="buidler">查看的对象</param>
 public DebugView(ByteBuilder buidler)
 {
     this.buidler = buidler;
 }
        /// <summary>
        /// 输出文本内容
        /// </summary>      
        /// <param name="content">内容</param>
        public bool Write(string content)
        {
            if (content == null)
            {
                content = string.Empty;
            }
            var buffer = new ByteBuilder(Endians.Little);
            var contentBytes = this.Charset.GetBytes(content);

            if (this.wroteHeader == false)
            {
                this.wroteHeader = true;
                var headerByes = this.GetHeaderBytes(contentBytes.Length);
                buffer.Add(headerByes);
            }

            buffer.Add(contentBytes);
            return this.TrySend(buffer.ToByteRange());
        }
Example #4
0
 /// <summary>
 /// 调试视图
 /// </summary>
 /// <param name="buidler">查看的对象</param>
 public DebugView(ByteBuilder buidler)
 {
     this.buidler = buidler;
 }
Example #5
0
 /// <summary>
 /// 当接收到远程端的数据时,将触发此方法
 /// 此方法用于处理和分析收到的数据
 /// 如果得到一个数据包,将触发OnRecvComplete方法
 /// [注]这里只需处理一个数据包的流程
 /// </summary>
 /// <param name="recvBuilder">接收到的历史数据</param>
 /// <returns>如果不够一个数据包,则请返回null</returns>
 protected abstract T OnReceive(ByteBuilder recvBuilder);
Example #6
0
 /// <summary>
 /// 当接收到远程端的数据时,将触发此方法
 /// 此方法用于处理和分析收到的数据
 /// 如果得到一个数据包,将触发OnRecvComplete方法
 /// [注]这里只需处理一个数据包的流程
 /// </summary>
 /// <param name="client">客户端</param>
 /// <param name="recvBuilder">接收到的历史数据</param>
 /// <returns>如果不够一个数据包,则请返回null</returns>
 protected abstract T OnReceive(SocketAsync <T> client, ByteBuilder recvBuilder);