public void ProcessData(EasyTCPToken token, NetMessage msg) { if (OnCallback != null) { OnCallback(token, msg); } }
public void SendNetMessageTo(EasyTCPToken token, NetMessage msg) { if (token._online) { token.SendNetMessage(msg); _bytesSended += msg.Bytes.Length; } }
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); } }
public EasySocketEvent(string type, EasyTCPToken token, params object[] parameters) { this.Type = type; this.UserToken = token; this.Parameters = parameters; }
public EasySocketEvent(string type, EasyTCPToken token, string msg = "") { this.Type = type; this.UserToken = token; this.Info = msg; }
public EasySocketEvent(string type, EasyTCPToken token, NetMessage msg) { this.Type = type; this.UserToken = token; this.SocketData = msg; }
private void ClientDemo_OnCallback(EasyTCPToken client, NetMessage msg) { msgStr += "\n" + msg.ReadUTFString(); }