/// <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); }
/// <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()); } }