Example #1
0
        /// <summary>
        /// 登录
        ///     <remark>abu 2008-03-06 </remark>
        /// </summary>
        public void Login()
        {
            Check.Require(QQClient.LoginServerHost, "LoginServerHost", Check.NotNull);
            if (QQClient.LoginPort == 0)
            {
                if (QQUser.IsUdp)
                {
                    QQClient.LoginPort = QQGlobal.QQ_PORT_UDP;
                }
                else
                {
                    QQClient.LoginPort = QQGlobal.QQ_PORT_TCP;
                }
            }
            OutPacket outPacket = null;

            if (QQClient.QQUser.LoginToken == null)
            {
                outPacket = new RequestLoginTokenPacket(QQClient.QQUser);
            }
            else
            {
                outPacket = new LoginPacket(QQClient.QQUser);
            }
            QQClient.PacketManager.SendPacketAnyway(outPacket, QQPort.Main.Name);
        }
Example #2
0
        public void RequestLoginTokenPacketUDPTest()
        {
            byteBuffer.Initialize();
            RequestLoginTokenPacket requestLoginTokenPacket = new RequestLoginTokenPacket(qquser);

            requestLoginTokenPacket.Fill(byteBuffer);
            byte[] sequenceBytes  = ToBytes((ushort)requestLoginTokenPacket.Sequence);
            byte[] expectedPacket = new byte[] { 0x2, 0xe, 0x1b, 0x0, 0x62, sequenceBytes[0], sequenceBytes[1], 0x25, 0x92, 0xcd, 0xa4, 0x0, 0x3 };
            expectedBuf.Put(expectedPacket);
            Assert.AreEqual(expectedBuf, byteBuffer);
        }
Example #3
0
        /// <summary>处理请求登录令牌的回复包
        ///     <remark>abu 2008-03-08 </remark>
        /// </summary>
        /// <param name="basicInPacket">The basic in packet.</param>
        private void ProcessRequestLoginTokenReply(RequestLoginTokenReplyPacket inPacket, RequestLoginTokenPacket outPacket)
        {
            QQEventArgs <RequestLoginTokenReplyPacket, RequestLoginTokenPacket> e = new QQEventArgs <RequestLoginTokenReplyPacket, RequestLoginTokenPacket>(client, inPacket, outPacket);

            if (inPacket.ReplyCode == ReplyCode.OK)
            {
                user.LoginToken = inPacket.LoginToken;
                client.LoginManager.OnRequestLoginTokenSuccessed(e);
            }
            else
            {
                client.LoginManager.OnRequestLoginTokenFailed(e);
            }
        }