Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 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);
 }
Esempio n. 3
0
 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());
        }
Esempio n. 5
0
        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
        }
Esempio n. 6
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;
            }
        }
Esempio n. 8
0
 /// <summary>
 ///
 /// </summary>
 public bool SendMessageToClient(MessageSocketSession session, Model.MessageBodyModel model)
 {
     return(access.SendMessageToClient(session, model));
 }