コード例 #1
0
        /// <summary>
        /// 制作完整的数据包(包头+包体)
        /// </summary>
        /// <param name="_data"></param>
        /// <returns></returns>
        private byte[] MakeAllData(byte[] _data)
        {
            byte[] retBuffer = null;

            using (MMOMemoryStream ms = new MMOMemoryStream())
            {
                //ushort占两个字节,作为包头的长度
                //将长度转换成byte,写入数据流中
                ms.WriteUshort((ushort)_data.Length);
                //将数据写入数据流
                ms.Write(_data, 0, _data.Length);

                //读取
                retBuffer = ms.ToArray();
            }

            return(retBuffer);
        }
コード例 #2
0
        /// <summary>
        /// 构造函数(初始化)
        /// </summary>
        /// <param name="_socket"></param>
        public ClientSocket(Socket _socket, Role _role)
        {
            m_Socket = _socket;
            m_Role   = _role;

            m_Role.m_ClientSocket = this;

            //实例化
            m_ReceiveThread = new Thread(ReceiveMessage);
            //开启
            m_ReceiveThread.Start();

            //委托绑定
            m_CheckQueue = CheckQueue;

            //测试
            using (MMOMemoryStream ms = new MMOMemoryStream())
            {
                ms.WriterUTF8String(string.Format("当前连接时间" + DateTime.Now.ToString()));

                SendMsg(ms.ToArray());
            }
        }