protected void Client_MessageReceived(object sender, MessageEventArgs e) { try { var client = sender as IScsServerClient; var cmd = e.Message as Cmd; try { ServerClientDictItem sci = _sclients[client.ClientId]; sci.RemainLifeNumber = DefaultLifeNumber; if (string.IsNullOrWhiteSpace(sci.SenderName)) { sci.SenderName = cmd.sender_name; } } catch { } EzLogger.GlobalLogger.info(string.Format("tcp server receive message from {0}: {1}", client.RemoteEndPoint, cmd.ToString())); if (client != null) { //心跳自动回复,不需要进一步处理 if (cmd is HeartBeatCmd) { client.SendMessage(cmd); } if (MessageReceived != null) { MessageReceived(client, cmd); } } } catch (System.Exception ex) { EzLogger.GlobalLogger.warning(string.Format("{0}{2}{1}{2}", ex.Message, ex.StackTrace, Environment.NewLine)); } }
protected void server_ClientConnected(object sender, ServerClientEventArgs e) { e.Client.MessageReceived += Client_MessageReceived; EzLogger.GlobalLogger.info(string.Format("{0} client(s). connected: {1}", _server.Clients.Count, e.Client.RemoteEndPoint)); try { ServerClientDictItem sc = new ServerClientDictItem(e.Client, this.DefaultLifeNumber); lock (_sclients) { _sclients.Add(e.Client.ClientId, sc); } } catch (System.Exception ex) { EzLogger.GlobalLogger.warning(string.Format("{0}{2}{1}{2}", ex.Message, ex.StackTrace, Environment.NewLine)); } if (ConnectionArrived != null) { ConnectionArrived(e.Client); } }
protected void server_ClientConnected(object sender, ServerClientEventArgs e) { e.Client.MessageReceived += Client_MessageReceived; EzLogger.GlobalLogger.info(string.Format("{0} client(s). connected: {1}", _server.Clients.Count, e.Client.RemoteEndPoint)); try { ServerClientDictItem sc = new ServerClientDictItem(e.Client, this.DefaultLifeNumber); lock (_sclients) { _sclients.Add(e.Client.ClientId, sc); } } catch (System.Exception ex) { EzLogger.GlobalLogger.warning(string.Format("{0}{2}{1}{2}", ex.Message, ex.StackTrace, Environment.NewLine)); } if (ConnectionArrived != null) ConnectionArrived(e.Client); }