Beispiel #1
0
        protected override void Encode(IChannelHandlerContext context, MaplePakcet message, IByteBuffer output)
        {
            using (message)
            {
                CMapleClient client = context.GetAttribute <CMapleClient>(CMapleClient.attributeKey).Get();
                if (client == null)
                {
                    output.WriteBytes(message.ToArray());
                }
                else
                {
                    //加密
                    using (MapleBuffer buffer = new MapleBuffer())
                    {
                        byte[] header = new byte[4];
                        client.m_SendIv.GetHeaderToClient(message.ToArray().Length, header);
                        client.m_SendIv.Transform();
                        buffer.add(header);
                        buffer.add(message.ToArray());

                        System.Console.WriteLine("发送封包:{0}", HexTool.toString(message.ToArray()));
                        output.WriteBytes(buffer.ToArray());
                    }
                }
            }
        }
Beispiel #2
0
 public override string ToString()
 {
     return(HexTool.toString(ToArray()));
 }