Esempio n. 1
0
        public FrmMsgBox(string MsgTitle, string MsgContent, MsgTypeEnum MsgType, MsgBtnTypeEnum MsgBtn) : this()
        {
            this.lblTitle.Text   = MsgTitle;
            this.txtContent.Text = MsgContent;
            if (MsgType == MsgTypeEnum.Question)
            {
                this.picMessage.Image = global::WindowPDAClient.Properties.Resources.Ask;
            }
            else if (MsgType == MsgTypeEnum.Success)
            {
                this.picMessage.Image = global::WindowPDAClient.Properties.Resources.OK;
            }

            if (MsgBtn == MsgBtnTypeEnum.YesCancel)
            {
                this.btnNo.Visible = false;
            }
            else if (MsgBtn == MsgBtnTypeEnum.YesNo)
            {
                this.btnCancel.Visible = false;
                this.btnNo.Location    = btnCancel.Location;
            }
            else if (MsgBtn == MsgBtnTypeEnum.YesNoCancel)
            {
            }
            else
            {
                this.btnNo.Visible     = false;
                this.btnCancel.Visible = false;
                this.btnYes.Location   = btnNo.Location;
            }
        }
 private String prase(MessageParams message, MsgTypeEnum msgType)
 {
     StringBuilder sb = new StringBuilder();
     sb.Append(message.SendNo).Append((int)message.ReceiverType).Append(message.ReceiverValue).Append(message.MasterSecret);
     String verificationCode = sb.ToString();
     //Console.WriteLine(verificationCode);
     verificationCode = Md5.getMD5Hash(verificationCode);
     sb.Clear();
     message.setMsgContent();
     sb.Append("sendno=").Append(message.SendNo).Append("&app_key=").Append(message.AppKey).Append("&receiver_type=").Append((int)message.ReceiverType)
         .Append("&receiver_value=").Append(message.ReceiverValue).Append("&verification_code=").Append(verificationCode)
         .Append("&msg_type=").Append((int)msgType).Append("&msg_content=").Append(message.MsgContent).Append("&platform=").Append(message.getPlatform())
         .Append("&apns_production=").Append(message.ApnsProduction);
     if(message.TimeToLive >= 0)
     {
         sb.Append("&time_to_live=").Append(message.TimeToLive);
     }
     if(message.OverrideMsgId != null)
     {
         sb.Append("&override_msg_id=").Append(message.OverrideMsgId);
     }
     //Console.WriteLine(sb.ToString());
     Debug.Print(sb.ToString());
     return sb.ToString();
 }
Esempio n. 3
0
 public ListOfCustomMessages(string msg, MsgTypeEnum msgTypeEnum = MsgTypeEnum.Info)
 {
     this.Add(new CustomMessage()
     {
         Message = msg, MsgTypeEnum = msgTypeEnum
     });
 }
        private String prase(MessageParams message, MsgTypeEnum msgType)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(message.SendNo).Append((int)message.ReceiverType).Append(message.ReceiverValue).Append(message.MasterSecret);
            String verificationCode = sb.ToString();

            //Console.WriteLine(verificationCode);
            verificationCode = Md5.getMD5Hash(verificationCode);
            sb.Clear();
            message.setMsgContent();
            String receiverVallue = System.Web.HttpUtility.UrlEncode(message.ReceiverValue, Encoding.UTF8);

            sb.Append("sendno=").Append(message.SendNo).Append("&app_key=").Append(message.AppKey).Append("&receiver_type=").Append((int)message.ReceiverType)
            .Append("&receiver_value=").Append(receiverVallue).Append("&verification_code=").Append(verificationCode)
            .Append("&msg_type=").Append((int)msgType).Append("&msg_content=").Append(message.MsgContent).Append("&platform=").Append(message.getPlatform())
            .Append("&apns_production=").Append(message.ApnsProduction);
            if (message.TimeToLive >= 0)
            {
                sb.Append("&time_to_live=").Append(message.TimeToLive);
            }
            if (message.OverrideMsgId != null)
            {
                sb.Append("&override_msg_id=").Append(message.OverrideMsgId);
            }
            Console.WriteLine(sb.ToString());
            //Debug.Print(sb.ToString());
            return(sb.ToString());
        }
Esempio n. 5
0
        /// <summary>
        /// 根据即时通讯消息内容写入RTF文件
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="type"></param>
        public void InsertMsg(Msg msg, MsgTypeEnum type)
        {
            switch (type)
            {
            case MsgTypeEnum.Rcv:
                if (msg.Record_id.HasValue)
                {
                    builder.AppendFormat("\\pard\\cf4 {0} {1}\\par",
                                         msg.Time.ToString(), GetAsciiString(msg.From)).AppendLine();
                    //如果信息中有Record_id,则设置为超链接
                    builder.AppendFormat("{{\\field {{\\*\\fldinst HYPERLINK \"{0}\"}}{{\\fldrslt \\cf5\\ul{1} }}}}\\par",
                                         "http://Records/" + msg.Record_id.Value.ToString(),
                                         GetAsciiString(string.Format("自检编号{0}", msg.Record_id.Value))).AppendLine();
                    builder.AppendLine("\\pard\\cf3\\ulnone\\par").AppendLine();
                }
                else
                {
                    builder.AppendFormat("\\pard\\cf4 {0} {1}\\par",
                                         msg.Time.ToString(), GetAsciiString(msg.From)).AppendLine();
                    builder.AppendFormat("\\cf2 {0}\\par", GetAsciiString(msg.Content)).AppendLine();
                    AppendLine();
                }
                break;

            case MsgTypeEnum.Send:
                builder.AppendFormat("\\pard\\cf1 {0} {1}\\par",
                                     msg.Time.ToString(), GetAsciiString(msg.From)).AppendLine();
                builder.AppendFormat("\\cf2 {0}\\par", GetAsciiString(msg.Content)).AppendLine();
                AppendLine();
                break;

            default:
                break;
            }
        }
Esempio n. 6
0
 public CustomMessage(MsgTypeEnum msgType = MsgTypeEnum.Info, String message = "", string name = "", string title = "", string stack = "", bool shouldLog = false)
 {
     this.MsgTypeEnum = msgType;
     this.Title       = title != ""?title: this.tileTemp;
     this.Message     = message;
     this.Name        = name;
     this.Stack       = stack;
     this.ShouldLog   = shouldLog;
 }
 private MessageResult sendMessage(MessageParams msgParams, MsgTypeEnum msgType)
 {
     msgParams.ApnsProduction = this.apnsProduction ? 1 : 0;
     msgParams.AppKey         = this.appKey;
     msgParams.MasterSecret   = this.masterSecret;
     if (msgParams.TimeToLive == MessageParams.NO_TIME_TO_LIVE)
     {
         msgParams.TimeToLive = this.timeToLive;
     }
     if (this.devices != null)
     {
         foreach (DeviceEnum device in this.devices)
         {
             msgParams.addPlatform(device);
         }
     }
     return(sendPush(msgParams, msgType));
 }
Esempio n. 8
0
 /// <summary>
 /// 发送消息
 /// </summary>
 /// <param name="msgBody"></param>
 /// <param name="objType"></param>
 /// <param name="msgType"></param>
 /// <returns></returns>
 public static bool SendMessage(object msgBody, Type objType, MsgTypeEnum msgType)
 {
     try
     {
         _queue.Formatter = new XmlMessageFormatter(new Type[] { objType });
         Message message = new Message();
         //message.Recoverable = true;
         message.Label         = msgType.ToString(); //用描述设置ID
         message.Body          = msgBody;            //消息主体
         message.ResponseQueue = _queue;             //将消息加入到发送队列
         //message.AttachSenderId = true;
         message.Formatter = new XmlMessageFormatter(new Type[] { objType });
         _queue.Send(message);
         return(true);
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
        private MessageResult sendPush(MessageParams msgParams, MsgTypeEnum msgType)
        {
            String url = enableSSL ? HOST_NAME_SSL : HOST_NAME;

            url += PUSH_PATH;
            String pamrams = prase(msgParams, msgType);
            //Console.WriteLine("begin post");
            ResponseResult result = sendPost(url, null, pamrams);
            //Console.WriteLine("end post");

            MessageResult messResult = new MessageResult();

            if (result.responseCode == System.Net.HttpStatusCode.OK)
            {
                //Console.WriteLine("responseContent===" + result.responseContent);
                messResult = (MessageResult)JsonTool.JsonToObject(result.responseContent, messResult);
                String content = result.responseContent;
            }
            messResult.ResponseResult = result;

            return(messResult);
        }
        private MessageResult sendPush(MessageParams msgParams, MsgTypeEnum msgType)
        {
            String url = enableSSL ? HOST_NAME_SSL : HOST_NAME;
            url += PUSH_PATH;
            String pamrams = prase(msgParams, msgType);
            //Console.WriteLine("begin post");
            ResponseResult result = sendPost(url, null, pamrams);
            //Console.WriteLine("end post");

            MessageResult messResult = new MessageResult();
            if (result.responseCode == System.Net.HttpStatusCode.OK)
            {
                //Console.WriteLine("responseContent===" + result.responseContent);
                messResult = (MessageResult)JsonTool.JsonToObject(result.responseContent, messResult);
                String content = result.responseContent;
            }
            messResult.ResponseResult = result;

            return messResult;
        }
 private MessageResult sendMessage(MessageParams msgParams, MsgTypeEnum msgType)
 {
     msgParams.ApnsProduction = this.apnsProduction ? 1 : 0;
     msgParams.AppKey = this.appKey;
     msgParams.MasterSecret = this.masterSecret;
     if (msgParams.TimeToLive == MessageParams.NO_TIME_TO_LIVE)
     {
         msgParams.TimeToLive = this.timeToLive;
     }
     if (this.devices != null)
     {
         foreach (DeviceEnum device in this.devices)
         {
             msgParams.addPlatform(device);
         }
     }
     return sendPush(msgParams, msgType);
 }
Esempio n. 12
0
        async void UDPListener()
        {
            byte[] headerPacket = new byte[36];

            byte[] mac;
            Console.WriteLine("UDP Listener started;");
            udpClient = new UdpClient(new IPEndPoint(HostIP, 56700));

            while (true)
            {
                UdpReceiveResult udpResult = await udpClient.ReceiveAsync();

                if (true /*!StopParse*/)
                {
                    if (udpResult.Buffer.Length > 0)
                    {
                        if (udpResult.RemoteEndPoint.Port == 56700)
                        {
                            if (udpResult.Buffer.Length >= 36)
                            {
                                MsgTypeEnum msgType = (MsgTypeEnum)BitConverter.ToInt16(udpResult.Buffer, 32);
                                //Console.WriteLine($"\r\nMsg: {msgType.ToString()}\r\n");
                                if (msgType != MsgTypeEnum.GetService)
                                {
                                    Array.Copy(udpResult.Buffer, headerPacket, 36);
                                    header = Header.FromBytes(headerPacket);
                                    mac    = BitConverter.GetBytes(header.Target);

                                    switch (msgType)
                                    {
                                    case MsgTypeEnum.StateService:
                                        Console.WriteLine();
                                        Console.WriteLine(DateTime.Now.ToString());
                                        Console.WriteLine($"Payload Length: {udpResult.Buffer.Length - 36}");
                                        Console.WriteLine($"Type: {header.MessageType}");
                                        Console.WriteLine($"IP: {udpResult.RemoteEndPoint.Address}");
                                        Console.WriteLine($"Port: {udpResult.RemoteEndPoint.Port}");
                                        Console.WriteLine($"MAC: {MacString(header.Target)}");
                                        if (LE_EntryList.FirstOrDefault(p => p.MacUInt64 == header.Target) == null)
                                        {
                                            LE_EntryList.Add(new LE_Entry(new LiFxControlChannel(this.udpClient, new LiFX_EndPoint(udpResult.RemoteEndPoint.Address, header.Target)), header.Target));
                                        }
                                        else
                                        {
                                            Console.WriteLine("Повторный пакет");
                                        }
                                        break;

                                    case MsgTypeEnum.State:
                                        byte[] payload = new byte[udpResult.Buffer.Length - 36];
                                        Array.Copy(udpResult.Buffer, 36, payload, 0, udpResult.Buffer.Length - 36);
                                        var x = State.FromBytes(payload);
                                        //targetChannel.State = x;
                                        //targetChannel.State = State.FromBytes(payload);

                                        Console.WriteLine(/*$"From"*/);
                                        Console.WriteLine($"mac {MacString(header.Target)} LampHue: {x.Hue}");
                                        //Console.WriteLine($"Saturation: {x.Saturation}");
                                        //Console.WriteLine($"Brightness: {x.Brightness}");
                                        //Console.WriteLine($"Kelvin: {x.Kelvin}");
                                        //Console.WriteLine($"Label {x.LabelStr}");
                                        //Console.WriteLine($"Power {x.Power}");
                                        break;

                                    case MsgTypeEnum.Acknowledgement:
                                        //Console.WriteLine($"Seq: {header.Sequence}");
                                        break;
                                    }

                                    //if (msgType == MsgTypeEnum.StateService)
                                    //{
                                    //    Console.WriteLine();
                                    //    Console.WriteLine(DateTime.Now.ToString());
                                    //    Console.WriteLine($"Payload Length: {udpResult.Buffer.Length - 36}");
                                    //    Console.WriteLine($"Type: {header.MessageType}");
                                    //    Console.WriteLine($"IP: {udpResult.RemoteEndPoint.Address}");
                                    //    Console.WriteLine($"Port: {udpResult.RemoteEndPoint.Port}");
                                    //    Console.WriteLine($"MAC: {MacStr(header.Target)}");
                                    //    if (LE_EntryList.FirstOrDefault(p => p.MacUInt64 == header.Target) == null)
                                    //        LE_EntryList.Add(new LE_Entry(new LiFxControlChannel(this.udpClient, new LiFX_EndPoint(udpResult.RemoteEndPoint.Address, header.Target)), header.Target));
                                    //    else
                                    //        Console.WriteLine("Повторный пакет");

                                    //}
                                    //else
                                    //{
                                    //    LE_Entry le_Entry = LE_EntryList.FirstOrDefault(p => p.MacUInt64 == header.Target);

                                    //    if (le_Entry != null)
                                    //    {
                                    //        LiFxControlChannel targetChannel = le_Entry.Channel;
                                    //        byte[] payload = new byte[udpResult.Buffer.Length - 36];
                                    //        Array.Copy(udpResult.Buffer, 36, payload, 0, udpResult.Buffer.Length - 36);

                                    //        switch (msgType)
                                    //        {
                                    //            case MsgTypeEnum.State:
                                    //                var x = State.FromBytes(payload);
                                    //                targetChannel.State = x;
                                    //                //targetChannel.State = State.FromBytes(payload);
                                    //                Console.WriteLine();
                                    //                Console.WriteLine($"Hue: {x.Hue}");
                                    //                Console.WriteLine($"Saturation: {x.Saturation}");
                                    //                Console.WriteLine($"Brightness: {x.Brightness}");
                                    //                Console.WriteLine($"Kelvin: {x.Kelvin}");
                                    //                Console.WriteLine($"Label {x.LabelStr}");
                                    //                Console.WriteLine($"Power {x.Power}");
                                    //                break;
                                    //        }
                                    //    }
                                    //}
                                }
                            }
                            //OnReceivedPacket(udpResult);
                        }
                    }
                }
            }
        }
Esempio n. 13
0
        public static List <LightDescriptor> GetLights()
        {
            List <LightDescriptor> lightList = new List <LightDescriptor>();

            IPEndPoint myEndPoint;
            IPAddress  HostIP      = null;
            IPAddress  broadCastIP = null;

            //UdpClient udpClient = null;

            //foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
            //{
            //    if (/*ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 ||*/ ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
            //        foreach (UnicastIPAddressInformation ip in ni.GetIPProperties().UnicastAddresses)
            //            if (ip.Address.AddressFamily == AddressFamily.InterNetwork)
            //                if (ip.Address.ToString().StartsWith("192"))
            //                {
            //                    HostIP = ip.Address;
            //                    IPAddress mask = ip.IPv4Mask;
            //                    broadCastIP = LiFXUtils.GetBroadCastIP(HostIP, mask);
            //                }
            //}

            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();

            foreach (NetworkInterface adapter in interfaces)
            {
                var ipProps = adapter.GetIPProperties();

                foreach (var ip in ipProps.UnicastAddresses)
                {
                    if ((adapter.OperationalStatus == OperationalStatus.Up) &&
                        (ip.Address.AddressFamily == AddressFamily.InterNetwork)
                        /*&& (adapter.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)*/)
                    {
                        Console.WriteLine(ip.Address.ToString() + "|" + adapter.Description.ToString());
                        if (ip.Address.ToString().StartsWith("192"))
                        {
                            HostIP = ip.Address;
                            IPAddress mask = ip.IPv4Mask;
                            broadCastIP = LiFXUtils.GetBroadCastIP(HostIP, mask);
                        }
                    }
                }
            }

            myEndPoint = new IPEndPoint(HostIP, 56700);
            using (UdpClient udpClient = new UdpClient(myEndPoint))
            {
                bool       endScan        = false;
                IPEndPoint remoteEndPoint = null;
                byte[]     headerPacket   = new byte[36];
                byte[]     mac            = null;
                Header     header         = null;
                udpClient.Client.ReceiveTimeout = 2000;

                udpClient.Send(LiFXUtils.GetServicePacket, 36, new IPEndPoint(broadCastIP, 56700));

                while (!endScan)
                {
                    try
                    {
                        byte[] data = udpClient.Receive(ref remoteEndPoint);
                        if (!remoteEndPoint.Address.Equals(myEndPoint.Address))
                        {
                            MsgTypeEnum msgType = (MsgTypeEnum)BitConverter.ToInt16(data, 32);

                            if (msgType == MsgTypeEnum.StateService)
                            {
                                Array.Copy(data, headerPacket, 36);
                                header = Header.FromBytes(headerPacket);
                                mac    = BitConverter.GetBytes(header.Target);

                                //Console.WriteLine();
                                //Console.WriteLine(DateTime.Now.Millisecond.ToString());
                                //Console.WriteLine($"Payload Length: {data.Length - 36}");
                                //Console.WriteLine($"Type: {header.MessageType}");
                                //Console.WriteLine($"IP: {remoteEndPoint.Address}");
                                //Console.WriteLine($"Port: {remoteEndPoint.Port}");
                                //Console.WriteLine($"MAC: {Utils.MacString(header.Target)}");
                                if (lightList.FirstOrDefault(p => p.MAC == header.Target) == null)
                                {
                                    lightList.Add(new LightDescriptor(remoteEndPoint.Address, header.Target));
                                }
                            }
                        }
                    }
                    catch/*(SocketException ex)*/
                    {
                        //Console.WriteLine($"{ex.SocketErrorCode}");
                        endScan = true;
                    }
                }
            }
            return(lightList);
        }