Beispiel #1
0
 /// <summary>
 /// 发送消息到客户端
 /// </summary>
 /// <param name="protocol">协议号</param>
 public void Send(INetPack pack)
 {
     Assert.AreNotEqual <Protocol>(Protocol.Invalid, pack.Protocol);
     byte[] data = Utility.ToBytes(pack);
     Assert.IsTrue(data.Length < NetConfig.messageBodyLength);
     byte[] sequence = BitConverter.GetBytes(Sequence);
     byte[] protocol = BitConverter.GetBytes((int)pack.Protocol);
     byte[] head     = Utility.CombineBytes(sequence, protocol);
     byte[] send     = Utility.CombineBytes(head, data);
     networkStream.Write(send, 0, send.Length);
     networkStream.Flush();
 }
Beispiel #2
0
 /// <summary>
 /// 发送消息到客户端
 /// </summary>
 /// <param name="protocol">协议号</param>
 public void Send(INetPack netPack)
 {
     Assert.AreNotEqual <Protocol>(Protocol.Invalid, netPack.Protocol);
     if (!IsAlive)
     {
         return;
     }
     byte[] data = Utility.ToBytes(netPack);
     Assert.IsTrue(data.Length < NetConfig.messageBodyLength);
     byte[] sequence = BitConverter.GetBytes(++Sequence);
     byte[] protocol = BitConverter.GetBytes((int)netPack.Protocol);
     byte[] head     = Utility.CombineBytes(sequence, protocol);
     byte[] send     = Utility.CombineBytes(head, data);
     Debug.LogWarning("Client Send:" + netPack.Protocol.ToString());
     netLogic(send);
 }
Beispiel #3
0
        /// <summary>
        /// 协议数据转成字节流
        /// </summary>
        /// <param name="pack"></param>
        /// <returns></returns>
        public static byte[] ToBytes(INetPack pack)
        {
            string json = JsonUtility.ToJson(pack);

            return(Encoding.UTF8.GetBytes(json));
        }