Esempio n. 1
0
        /// <summary>
        /// 解码
        /// </summary>
        /// <param name="buffer"></param>
        /// <param name="fixedHeader"></param>
        /// <param name="variableHeader"></param>
        public void Decode(IByteBuffer buffer, FixedHeader fixedHeader, ConnectVariableHeader variableHeader)
        {
            int remainingLength = fixedHeader.RemaingLength;

            ClientId = buffer.ReadString(ref remainingLength);
            if (variableHeader.WillFlag)
            {
                WillTopic = buffer.ReadString(ref remainingLength);
                //WillMessage = buffer.ReadBytes(3);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// 编码
 /// </summary>
 /// <param name="buffer"></param>
 /// <param name="variableHeader"></param>
 public void Encode(IByteBuffer buffer, ConnectVariableHeader variableHeader)
 {
     buffer.WriteString(ClientId);
     if (variableHeader.WillFlag)
     {
         buffer.WriteString(WillTopic);
         buffer.WriteBytes(WillMessage);
     }
     if (variableHeader.UsernameFlag)
     {
         buffer.WriteString(UserName);
     }
     if (variableHeader.PasswordFlag)
     {
         buffer.WriteString(Password);
     }
 }