public void ProcessData(EasyTCPToken token, NetMessage msg)
 {
     if (OnCallback != null)
     {
         OnCallback(token, msg);
     }
 }
Пример #2
0
 public void SendNetMessageTo(EasyTCPToken token, NetMessage msg)
 {
     if (token._online)
     {
         token.SendNetMessage(msg);
         _bytesSended += msg.Bytes.Length;
     }
 }
Пример #3
0
        void Update()
        {
            //处理新连接对象
            while (_tmpSocketQueue.Count > 0)
            {
                //取出新连接Socket,穿件客户端
                Socket sk = _tmpSocketQueue.Dequeue();

                //开始构建EasyTCPToken
                EasyTCPToken token = EasyTCPToken.CreateTCPToken(sk, this);
                token.OnSocketEventHandler += OnTCPTokenEventHandler;
                token.transform.SetParent(this.transform);

                //同步用户列表
                _tokenDic.Add(token.Ipe.ToString(), token);

                //客户端连接事件
                EasySocketEvent se = new EasySocketEvent(EasySocketEvent.NEW_CONNECTION, token);
                _socketEventQueue.Enqueue(se);
            }

            //**********跳线用户检测***************/
            List <EasyTCPToken> offlinetokens = new List <EasyTCPToken>();

            //检测是否有用户掉线
            foreach (var token in _tokenDic.Values)
            {
                TimeSpan sp = System.DateTime.Now - token.LastHeartTime;
                if (sp.Seconds > 10)
                {
                    offlinetokens.Add(token);
                }
            }

            foreach (var token in offlinetokens)
            {
                EasySocketEvent se = new EasySocketEvent(EasySocketEvent.DISCONNECTED, token);
                _socketEventQueue.Enqueue(se);
                _tokenDic.Remove(token.Ipe.ToString());
                token.Close();
            }
            offlinetokens.Clear();
            //---------------------------------/


            //服务器端变化事件
            while (_socketEventQueue.Count > 0)
            {
                EasySocketEvent se = _socketEventQueue.Dequeue();
                OnSocketEventHandler(se);
            }
        }
Пример #4
0
 public EasySocketEvent(string type, EasyTCPToken token, params object[] parameters)
 {
     this.Type       = type;
     this.UserToken  = token;
     this.Parameters = parameters;
 }
Пример #5
0
 public EasySocketEvent(string type, EasyTCPToken token, string msg = "")
 {
     this.Type      = type;
     this.UserToken = token;
     this.Info      = msg;
 }
Пример #6
0
 public EasySocketEvent(string type, EasyTCPToken token, NetMessage msg)
 {
     this.Type       = type;
     this.UserToken  = token;
     this.SocketData = msg;
 }
Пример #7
0
 private void ClientDemo_OnCallback(EasyTCPToken client, NetMessage msg)
 {
     msgStr += "\n" + msg.ReadUTFString();
 }