protected override void OnSessionClosed(CloseReason reason) { EventMessageServerSessionExcute(new Model.EventMessageServerModel(Model.EnumMessageInfo.Log, "OnSessionClosed", SessionID)); Model.MessageBodyModel model = new Model.MessageBodyModel(); model.Header.TagetType = Model.EnumClientType.Normal; model.Header.SourceCode = Cookies["ClientCode"]; model.MessageContentType = Model.EnumMessageContentType.Text; model.MessageContent = "StateShutdown"; Sender.Sender.SendMessageToGroup((MessageSocketServer)AppServer, model); base.OnSessionClosed(reason); }
public bool SendMessageToClient(MessageSocketSession session, Model.MessageBodyModel model) { try { string errorInfo = ""; return(Careysoft.Basic.WeiXin.Qy.Client.ClientFuntion.SendTextMessageToUser(model.Header.TargetCode, model.MessageContent, ref errorInfo)); } catch (Exception e) { } return(false); }
public bool SendMessageToClient(MessageSocketSession session, Model.MessageBodyModel model) { try { string xml = Careysoft.Basic.Public.ObjectSerializer.InstancesToXML <Model.MessageBodyModel>(model); xml = Careysoft.Basic.Public.DES.Encrypt(xml, session.Cookies["PrivateKey"]); Model.MessageModel msgModel = new Model.MessageModel(Model.EnumCommand.MessagePoint, xml); session.Send(msgModel.ToString()); return(true); } catch (Exception e) { } return(false); }
public void SendWeiXinMessage(string userId, string message) { Model.MessageBodyModel modelBody = new Model.MessageBodyModel(); modelBody.Header.TargetCode = userId; modelBody.Header.TagetType = Model.EnumClientType.WeChat; modelBody.Header.SourceCode = m_ClientCode; modelBody.Header.MessageType = Model.EnumMessageType.Point; modelBody.MessageContentType = Model.EnumMessageContentType.Text; modelBody.MessageContent = message; string body = Careysoft.Basic.Public.ObjectSerializer.InstancesToXML <Model.MessageBodyModel>(modelBody); body = Careysoft.Basic.Public.DES.Encrypt(body, m_PrivateKey); Model.MessageModel model = new Model.MessageModel(Model.EnumCommand.MessagePoint, body); m_WebSocketClient.Send(model.ToString()); }
public static bool SendMessageToClient(MessageSocketServer server, string messageBody) { Model.MessageBodyModel model = Careysoft.Basic.Public.ObjectSerializer.Xml16ToInstances <Model.MessageBodyModel>(messageBody); //MessageSocketSession session = null; //IEnumerable<MessageSocketSession> sessions = server.GetAllSessions().Where(m => m.Cookies["ClientCode"] == model.Header.TargetCode); //if (sessions.Count() > 0) //{ // session = sessions.First(); //} MessageSocketSession session = server.GetAllSessions().SingleOrDefault(m => m.Cookies["ClientCode"] == model.Header.TargetCode); string clientType = model.Header.TagetType.ToString(); clientType = String.Format("Careysoft.Dotnet.Server.MessageServer.Server.Sender.{0}.Sender", clientType); FactorySendercs af = new FactorySendercs(clientType); return(af.SendMessageToClient(session, model)); //发送给微信时,session为0 }
public static bool SendMessageToGroup(MessageSocketServer server, Model.MessageBodyModel model) { String groupCode = Access.Auth.GetClient(model.Header.SourceCode).GroupCode; IEnumerable <MessageSocketSession> sessions = server.GetAllSessions().Where(m => m.Cookies["GroupCode"] == groupCode); foreach (MessageSocketSession session in sessions) { if (session.Cookies["ClientCode"] != model.Header.SourceCode) { string clientType = model.Header.TagetType.ToString(); clientType = String.Format("Careysoft.Dotnet.Server.MessageServer.Server.Sender.{0}.Sender", clientType); FactorySendercs af = new FactorySendercs(clientType); af.SendMessageToClient(session, model); } } return(true); }
void m_WebSocketClient_MessageReceived(object sender, MessageReceivedEventArgs e) { Model.MessageModel model = new Model.MessageModel(e.Message); switch (model.Command) { case Model.EnumCommand.AuthQuestion: m_WebSocketClient.Send(String.Format("{0} {1}${2}", Model.EnumCommand.AuthUser.ToString(), m_ClientCode, m_ClientPass)); break; case Model.EnumCommand.AuthAccept: m_Logined = true; m_PrivateKey = Careysoft.Basic.Public.DES.Decrypt(model.Body, DateTime.Now.AddDays(-1).ToString("yyyyMMdd")); break; case Model.EnumCommand.MessagePoint: string body = model.Body; body = Careysoft.Basic.Public.DES.Decrypt(body, m_PrivateKey); Model.MessageBodyModel msgModel = Careysoft.Basic.Public.ObjectSerializer.Xml16ToInstances <Model.MessageBodyModel>(body); break; } }
/// <summary> /// /// </summary> public bool SendMessageToClient(MessageSocketSession session, Model.MessageBodyModel model) { return(access.SendMessageToClient(session, model)); }