Пример #1
0
 public bool Login(
     string username,
     string password,
     Enums.OnlineStatus onlineStatus = Enums.OnlineStatus.Online,
     Enums.DeviceType deviceType     = Enums.DeviceType.Android)
 {
     try
     {
         Current = this;
         PacketManager.InitializeHandlers();
         CommandManager.InitializeCommands();
         Username       = username;
         Password       = password;
         OnlineStatus   = onlineStatus;
         DeviceType     = deviceType;
         _tcpClient     = new TcpClient(_host, _port);
         Current        = this;
         _networkStream = _tcpClient.GetStream();
         SendPacket(PacketTemplates.Logon(Username, DeviceType));
         _networkStream.BeginRead(_buffer, 0, _buffer.Length, ReadCallback, null);
         Console.WriteLine(_buffer.Length);
         return(true);
     }
     catch (Exception a)
     {
         return(false);
     }
 }
Пример #2
0
 public static Packet ChangeOnlineStatus(Enums.OnlineStatus onlineStatus)
 {
     return(new Packet("CONTACT DETAIL")
     {
         Headers = new Dictionary <string, string>
         {
             { "last", "1" },
             { "mesg-id", "33274" },
             { "online-status", ((int)onlineStatus).ToString() }
         }
     });
 }
Пример #3
0
 public static Packet Auth(byte[] password, Enums.OnlineStatus onlineStatus)
 {
     return(new Packet("AUTH")
     {
         Headers = new Dictionary <string, string>
         {
             { "encryption-type", "1" },
             { "online-status", ((int)onlineStatus).ToString() },
         },
         Payload = Encoding.GetEncoding("windows-1252").GetString(password)
     });
 }