/// <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); }
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); }
/// <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); } }