Esempio n. 1
0
 /// <summary>
 /// 加入信息房间
 /// </summary>
 /// <param name="roomid">RoomID</param>
 /// <param name="key">目标房间的秘钥</param>
 /// <param name="CTC">连接对象</param>
 public void AddRecord(string roomid, string key, ConnToClient CTC)
 {
     if (RoomList.ContainsKey(roomid))//监测房间是否存在
     {
         Room room = RoomList[roomid];
         if (key != room.Key)//核对秘钥
         {
             return;
         }
         if (!room.CTCS.Contains(CTC))             //检查请求地址是否已经被记录
         {
             if (room.GetIndex() >= 0)             //检查资源余量并取得索引
             {
                 room.CTCS[room.GetIndex()] = CTC; //添加记录
                 //返回添加结果字符串
                 NewsRetinformation newsRetinformation = new NewsRetinformation
                 {
                     Ret    = 0,
                     RoomID = room.RoomID
                 };
                 //调用发送函数
                 room.GetIndex();
             }
             else//返回添加失败信息
             {
                 NewsRetinformation newsRetinformation = new NewsRetinformation
                 {
                     Ret = -1,
                     //调用发送函数
                     RoomID = room.RoomID
                 };
             }
         }
     }
 }
Esempio n. 2
0
 public void DisConnToServer(ConnToClient CTC, object[] OB)
 {
     if (CTC.Openid != null)
     {
         ClientMC.A.CTCD.Remove(CTC.Openid);
     }
     CTC.Close();
 }
Esempio n. 3
0
        public void ConnToServer(ConnToClient CTC, object[] OB)
        {
            string Openid = OB[1].ToString();

            CTC.Openid = Openid;
            if (!ClientMC.A.CTCD.ContainsKey(Openid))
            {
                ClientMC.A.CTCD.Add(Openid, CTC);
            }
        }
Esempio n. 4
0
        public void Init(ConnToClient CTC, object[] OB)
        {
            Console.WriteLine("Client INit");
            string Openid = OB[1].ToString();

            CTC.Openid = Openid;
            if (!ClientMC.A.CTCD.ContainsKey(Openid))
            {
                ClientMC.A.CTCD.Add(Openid, CTC);
            }
        }
Esempio n. 5
0
        public void SendMSGTo(ConnToClient CTC, object[] OB)
        {
            Console.WriteLine("MSGProcess");
            string MSG    = OB[1].ToString();
            NewMSG newMSG = JsonConvert.DeserializeObject <NewMSG>(MSG);

            switch (newMSG.MSGState)
            {
            case State.Friend:
                Thread FriendMSGSendTo = new Thread(new ParameterizedThreadStart(FriendMSGSend));
                FriendMSGSendTo.Start(newMSG);
                break;

            case State.Team: break;

            case State.Wrold:
                Thread WroldMSGSendTo = new Thread(new ParameterizedThreadStart(WroldMSGSend));
                WroldMSGSendTo.Start(newMSG);
                Console.WriteLine("send to" + newMSG.Destination);
                break;
            }
        }
Esempio n. 6
0
 public void JoinNewsRoom(ConnToClient CTC, object[] OB)
 {
     RoomGC.A.AddRecord();
 }
Esempio n. 7
0
 public void ConnectedNewsServer(ConnToClient CTC, object[] OB)
 {
 }
Esempio n. 8
0
 public void Hearbeat(ConnToClient CTC, object[] OB)
 {
 }