Esempio n. 1
0
        public static void RadarAnswer(Socket sockeClient, string msg, Dictionary <string, Session> sessionPool, string sendIP)
        {
            string receiveIP     = string.Empty;
            string receiveMobile = string.Empty;
            string errMsg        = string.Empty;
            //解析消息对象
            SocketDataModel <RadarSendObject, MemberReceiveObject, RadarAnswerObj> socketDataModel = Utils.DataContractJsonDeserializer <SocketDataModel <RadarSendObject, MemberReceiveObject, RadarAnswerObj> >(msg);
            RadarSendObject     sendObj        = socketDataModel.SendObject;
            MemberReceiveObject receiveObj     = socketDataModel.ReceiveObject;
            RadarAnswerObj      radarAnswerObj = socketDataModel.Data;

            //接受信息方是否存在
            if (!GetIP(sessionPool, receiveObj.Mobile, out receiveIP))
            {
                //tb.show(socketDataModel.MessageType, sendObj.StoreId, sendObj.Token, receiveObj.StoreId, receiveObj.Mobile, socketDataModel.Data.ToString(), "0");
                return;
            }

            TcpHelper tb = new TcpHelper();

            //发送消息给接受方
            //var msgObj = Utils.DeserializeObject(socketDataModel.Data.ToString());
            SendData(radarAnswerObj, sessionPool, receiveIP);

            //tb.show(socketDataModel.MessageType, sendObj.StoreId, sendMobile, "", receiveObj.Mobile, socketDataModel.Data.ToString(), "1");
        }
Esempio n. 2
0
 private void sendData()
 {
     //出币后向客户端发送成功信息
     //UDPSocketAnswerModel answerModel = UDPSocketAnswerBusiness.GetAnswerModel(model.SN);
     RadarSendObject     sendObj    = new RadarSendObject("100010", "001");
     MemberReceiveObject receiveObj = new MemberReceiveObject("15618920033");
     string messageType             = Convert.ToInt16(TCPMessageType.雷达操作回复).ToString();
     string sysId   = Convert.ToInt16(XCCloudService.Common.Enum.SysIdEnum.UDP).ToString();
     var    dataObj = new { result_code = 1 };
     SocketDataModel <RadarSendObject, MemberReceiveObject> socketDataModel = new SocketDataModel <RadarSendObject, MemberReceiveObject>(messageType, sysId, sendObj, receiveObj, Utils.SerializeObject(dataObj));
     //TCPClientServiceForUDPBusiness.Send(Utils.DataContractJsonSerializer(socketDataModel));
 }
Esempio n. 3
0
        /// <summary>
        /// 消息推送
        /// </summary>
        /// <param name="socketDataModel"></param>
        /// <param name="SessionPool"></param>
        /// <param name="IP"></param>
        public static void Push(Socket sockeClient, string msg, Dictionary <string, Session> sessionPool, string sendIP)
        {
            string receiveIP     = string.Empty;
            string sendMobile    = string.Empty;
            string receiveMobile = string.Empty;
            string errMsg        = string.Empty;
            //解析消息对象
            SocketDataModel <MemberSendObject, MemberReceiveObject> socketDataModel = Utils.DataContractJsonDeserializer <SocketDataModel <MemberSendObject, MemberReceiveObject> >(msg);
            MemberSendObject    sendObj    = socketDataModel.SendObject;
            MemberReceiveObject receiveObj = socketDataModel.ReceiveObject;

            if (!MobileTokenBusiness.ExistToken(sendObj.Token, out sendMobile))
            {
                //如果发送方token不正确
                var msgObj = new { result_code = 0, errMsg = "手机token无效" };
                //TcpHelper.SaveDBLog(socketDataModel.MessageType, "", sendObj.Token, receiveObj.StoreId, receiveObj.Mobile, socketDataModel.Data.ToString(), "0");
                SendData(msgObj, sessionPool, sendIP);
            }

            //接受信息方是否存在
            if (!GetIP(sessionPool, receiveObj.Mobile, out receiveIP))
            {
                //如果发送方token不正确
                var msgObj = new { result_code = 0, errMsg = "对方不在线" };
                //tb.show(socketDataModel.MessageType, sendObj.StoreId, sendObj.Token, receiveObj.StoreId, receiveObj.Mobile, socketDataModel.Data.ToString(), "0");
                SendData(msgObj, sessionPool, sendIP);
            }
            else
            {
                TcpHelper tb = new TcpHelper();

                //发送消息给接受方
                var msgObj1 = new { result_code = 1, content = socketDataModel.Data };
                SendData(msgObj1, sessionPool, receiveIP);

                //提示发送方消息发送成功
                var msgObj2 = new { result_code = 1 };
                SendData(msgObj2, sessionPool, sendIP);

                //记录TCP日志
                //DataMessageModel logModel = new DataMessageModel();
                //logModel.ManageType = socketDataModel.MessageType;
                //TcpHelper.SaveDBLog(socketDataModel.MessageType, "", sendMobile, "", receiveObj.Mobile, socketDataModel.Data.ToString(), "1");
            }
        }
Esempio n. 4
0
        private void radarNotify(HttpContext context)
        {
            string errMsg  = string.Empty;
            string token   = context.Request["token"];
            string action  = context.Request["action"];
            string result  = context.Request["result"];
            string orderid = context.Request["orderid"];
            string sn      = context.Request["sn"];
            string signkey = context.Request["signkey"];

            ClientService service = new ClientService();

            service.Connection();
            RadarNotifyRequestModel dataModel = new RadarNotifyRequestModel();

            dataModel.Token   = token;
            dataModel.SN      = sn;
            dataModel.Result  = result;
            dataModel.OrderId = orderid;
            dataModel.SignKey = "";
            dataModel.Action  = "1";
            dataModel.Coins   = "5";
            byte[] data = DataFactory.CreateRequesProtocolData(TransmiteEnum.雷达通知指令, dataModel);
            service.Send(data);

            RadarSendObject sendObj = new RadarSendObject("100010", "0001");
            //手机号码构建TCP接受对象
            MemberReceiveObject receiveObj     = new MemberReceiveObject("15618920033");
            RadarAnswerObj      radarAnswerObj = new RadarAnswerObj("1", ((int)(TCPAnswerMessageType.出币)).ToString(), "成功出币5");

            SocketDataModel <RadarSendObject, MemberReceiveObject, RadarAnswerObj> socketDataModel = new SocketDataModel <RadarSendObject, MemberReceiveObject, RadarAnswerObj>("3", "0", sendObj, receiveObj, radarAnswerObj);
            //string str = Utils.DataContractJsonSerializer(socketDataModel);

            var dataObj = new {
                answerMsgType = "1",
                answerOjb     = new {
                    result_code = "1",
                    answerMsg   = "成功出币10个"
                }
            };

            TCPServiceBusiness.Send("15618920033", dataObj);
        }