void Client_MessageReceived(object sender, MessageEventArgs e) { //不是指定消息不处理 if (e.Message is ScsClientMessage) { var info = sender as IScsServerClient; if (server.Clients.ContainsKey(info.ClientId)) { var client = server.Clients[info.ClientId]; var appClient = (e.Message as ScsClientMessage).Client; client.State = appClient; //响应客户端详细信息 var endPoint = (info.RemoteEndPoint as ScsTcpEndPoint); container.Write(string.Format("Change app 【{4}】 client {0}:{1} to {2}[{3}]!", endPoint.IpAddress, endPoint.TcpPort, appClient.IPAddress, appClient.HostName, appClient.AppName), LogType.Information); MessageCenter.Instance.Notify(endPoint.IpAddress, endPoint.TcpPort, appClient); } } else if (e.Message is ScsResultMessage) { //获取client发送端 var client = sender as IScsServerClient; //解析消息 var message = e.Message as ScsResultMessage; var reqMsg = message.MessageValue as RequestMessage; //调用方法 var resMsg = caller.CallMethod(client, reqMsg); //发送数据到服务端 SendMessage(client, resMsg, message.RepliedMessageId); } }