Esempio n. 1
0
 /// <summary>加入群
 /// Joins the cluster.
 /// </summary>
 /// <param name="clusterId">The cluster id.</param>
 public void JoinCluster(int clusterId)
 {
     ClusterJoinPacket packet = new ClusterJoinPacket(QQClient);
     packet.ClusterId = clusterId;
     QQClient.PacketManager.SendPacket(packet, QQPort.Main.Name);
 }
 /// <summary>
 /// Processes the cluster join reply.
 /// </summary>
 /// <param name="inPacket">The in packet.</param>
 /// <param name="outPacket">The out packet.</param>
 private void ProcessClusterJoinReply(ClusterCommandReplyPacket inPacket, ClusterJoinPacket outPacket)
 {
     QQEventArgs<ClusterCommandReplyPacket, ClusterJoinPacket> e = new QQEventArgs<ClusterCommandReplyPacket, ClusterJoinPacket>(client, inPacket, outPacket);
     if (inPacket.ReplyCode == ReplyCode.OK)
     {
         switch (inPacket.JoinReply)
         {
             case ClusterJoinReply.OK:
                 client.ClusterManager.OnClusterJoinSuccessed(e);
                 break;
             case ClusterJoinReply.NeedAuth:
                 client.ClusterManager.OnJoinClusterNeedAuth(e);
                 break;
             case ClusterJoinReply.Denied:
                 client.ClusterManager.OnJoinClusterDenied(e);
                 break;
             default:
                 break;
         }
     }
     else
     {
         client.ClusterManager.OnJoinClusterFailed(e);
     }
 }