/// <summary>
        /// 发送消息
        /// </summary>
        /// <param name="MQContent">消息内容</param>
        /// <param name="ServerName">接收端程序名,必须在服务端注册</param>
        public void SendMQ(string MQContent)
        {
            client.Connect();
            IOutgoingMessage message = client.CreateMessage();

            message.MessageData = Encoding.UTF8.GetBytes(MQContent);
            message.Send();
            client.Disconnect();
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            Thread.Sleep(1000);


            //Create MDSClient object to connect to DotNetMQ
            //Name of this application:  LapScore.MessageService.Listener
            var mdsClient = new MDSClient("LapScore.MessageService.Listener");

            //Register to MessageReceived event to get messages.
            mdsClient.MessageReceived += MDSClient_MessageReceived;

            //Connect to DotNetMQ server
            mdsClient.Connect();

            //Wait user to press enter to terminate application
            // Console.WriteLine("Press enter to exit...");
            // Console.ReadLine();

            while (KeepALive == true)
            {
            }

            //Disconnect from DotNetMQ server
            mdsClient.Disconnect();
        }
Beispiel #3
0
        public plcserver(int loopTime, string applicationName)
        {
            ApplicationName = applicationName;

            // Create MDSClient object to connect to DotNetMQ
            // Name of this application: PLCServer
            mdsClient = new MDSClient(ApplicationName);

            // Connect to DotNetMQ server
            try
            {
                mdsClient.Connect();
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                // esco
                this.Exit();
            }
            // Register to MessageReceived event to get messages.
            mdsClient.MessageReceived += PLCServer_MessageReceived;

            LoopTime       = loopTime;
            timer.Elapsed += timer_Elapsed;
            timer.Enabled  = true;

            Logger.InfoFormat("{0} application ready", ApplicationName);
        }
Beispiel #4
0
        private Controller()
        {
            // Name of this application: HMIClient
            ApplicationName = "Interface";
            // Name of the plc server application: PLCServer
            PLCServerApplicationName = "PLCServer";

            model = new Model();

            timer = new DispatcherTimer();

            // Create MDSClient object to connect to DotNetMQ
            mdsClient = new MDSClient(ApplicationName);

            // Connect to DotNetMQ server
            try
            {
                mdsClient.Connect();
            }
            catch (Exception ex)
            {
                Logger.Warn(ex.Message, ex);
            }

            // connetto a plcserver
            PLCServerConnect();

            // Register to MessageReceived event to get messages.
            mdsClient.MessageReceived += hmi_MessageReceived;

            // timer
            timer.Interval  = TimeSpan.FromMilliseconds(LoopTime);
            timer.Tick     += timer_Tick;
            timer.IsEnabled = true;
        }
Beispiel #5
0
        static void Main()
        {
            //Create MDSClient object to connect to DotNetMQ
            //Name of this application: Application1
            var mdsClient = new MDSClient("Application1");

            //Connect to DotNetMQ server
            mdsClient.Connect();

            Console.WriteLine("Write a text and press enter to send to Application2. Write 'exit' to stop application.");

            while (true)
            {
                //Get a message from user
                var messageText = Console.ReadLine();
                if (string.IsNullOrEmpty(messageText) || messageText == "exit")
                {
                    break;
                }

                //Create a DotNetMQ Message to send to Application2
                var message = mdsClient.CreateMessage();
                //Set destination application name
                message.DestinationApplicationName = "Application2";
                //message.DestinationServerName = "this_server2";
                //Set message data
                message.MessageData = Encoding.UTF8.GetBytes(messageText);

                //Send message
                message.Send();
            }

            //Disconnect from DotNetMQ server
            mdsClient.Disconnect();
        }
Beispiel #6
0
        private Controller()
        {
            //// Name of this application: Interface
            //ApplicationName = Settings.Default.ApplicationName;
            //// Name of the plc server application: PLCServer
            //PLCServerApplicationName = Settings.Default.ApplicationName;

            model = new Model();

            // Create MDSClient object to connect to DotNetMQ
            mdsClient = new MDSClient(ApplicationName);

            // Connect to DotNetMQ server
            try
            {
                mdsClient.Connect();
            }
            catch (Exception ex)
            {
                Logger.Warn(ex.Message, ex);
            }

            // connetto a plcserver
            PLCServerConnect();

            // Register to MessageReceived event to get messages.
            mdsClient.MessageReceived += hmi_MessageReceived;
        }
Beispiel #7
0
        private Controller(int loopTime, string applicationName, string managerApplicationName)
        {
            // Name of this application
            ApplicationName = applicationName;

            // Name of the manager application
            ManagerApplicationName = managerApplicationName;

            model = new Model();

            // Create MDSClient object to connect to DotNetMQ
            mdsClient = new MDSClient(ApplicationName);

            // Connect to DotNetMQ server
            try
            {
                mdsClient.Connect();
            }
            catch (Exception ex)
            {
                Logger.Warn(ex.Message, ex);
            }

            // Register to MessageReceived event to get messages.
            mdsClient.MessageReceived += hmi_MessageReceived;

            // connessione al manager
            ManagerConnect();
            LoopTime       = loopTime;
            timer.Elapsed += timer_Elapsed;
            timer.Enabled  = true;

            Logger.InfoFormat("{0} Application ready", ApplicationName);
        }
Beispiel #8
0
        private static void Ts()
        {
            mdsClient = new MDSClient("ExtractionTransformationProcess");
            mdsClient.Connect();

            while (true)
            {
                try
                {
                    var tmp   = Console.ReadLine().ToLower().Trim();
                    var parts = tmp.Split(null);
                    var cmd   = parts[0];
                    switch (cmd)
                    {
                    case "exit":
                    case "quit":
                        break;

                    case "help":
                    case "h":
                        ShowHelp();
                        break;

                    case "q":
                        if (parts.Length < 2)
                        {
                            Console.WriteLine("need parameter");
                        }
                        DateTime paratime;
                        if (!DateTime.TryParseExact(parts[1], "yyyyMMddHHmmss", null, System.Globalization.DateTimeStyles.None, out paratime))
                        {
                            Console.WriteLine("error time format");
                        }
                        Send(paratime, 58, @"C:\Users\yinweiwen\Desktop\Vibration\9999_1_20140723151516925.odb", 415);
                        break;

                    case "qz1":
                        Send(DateTime.Now, 95, parts[1], 2782);
                        break;

                    case "qzall":
                        SendAll();
                        break;

                    case "circ":    // 测试消息通知
                        var interval = Convert.ToInt32(parts[1]);
                        CircTest(interval);
                        break;
                    }
                }
                catch (System.Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }
Beispiel #9
0
        static void Main(string[] args)
        {
            var mdsClient = new MDSClient("StockServer");

            mdsClient.MessageReceived += MDSClient_MessageReceived;

            mdsClient.Connect();

            Console.WriteLine("Press enter to exit...");
            Console.ReadLine();

            mdsClient.Disconnect();
        }
Beispiel #10
0
        static void Main(string[] args)
        {
            MDSClient mdsClient = new MDSClient(Utils.MQConfigHelper.MQQualityHelper.ServiceName,
                                                Utils.MQConfigHelper.MQQualityHelper.Ip, Utils.MQConfigHelper.MQQualityHelper.Port);

            mdsClient.MessageReceived += new MessageReceivedHandler(mdsClient_MessageReceived);

            mdsClient.Connect();

            Console.WriteLine("按回车键退出");
            Console.ReadLine();

            mdsClient.Disconnect();
        }
Beispiel #11
0
        public void Send(object message)
        {
            var outgoingMessage = client.CreateMessage();

            outgoingMessage.MessageData = GeneralHelper.SerializeObject(message);
            try
            {
                outgoingMessage.Send();
            }
            finally
            {
                client.Connect();
                outgoingMessage.Send();
            }
        }
        public void Initialize()
        {
            Thread.Sleep(1000);


            //Create MDSClient object to connect to DotNetMQ
            //Name of this application:  LapScore.MessageService.Listener
            var mdsClient = new MDSClient("LapScore.MessageService.GUI");

            //Register to MessageReceived event to get messages.
            mdsClient.MessageReceived += MDSClient_MessageReceived;

            //Connect to DotNetMQ server
            mdsClient.Connect();
        }
Beispiel #13
0
 public void Start()
 {
     mdsClient = new MDSClient("WirelessReceiver");
     try
     {
         mdsClient.Connect();
         Console.WriteLine("启动服务");
         isConnect = true;
     }
     catch (Exception ex)
     {
         log.Error(ex.Message);
         Console.WriteLine("启动服务失败");
     }
 }
Beispiel #14
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            while (true)
            {
                //实例化客户端
                var mdsClient = new MDSClient("SyncService", "127.0.0.1", 10905);

                //链接SERVER
                mdsClient.Connect();
                var message = mdsClient.CreateMessage();
                message.MessageData = System.Text.Encoding.UTF8.GetBytes(Guid.NewGuid().ToString());
                message.Send();
                Console.WriteLine("00");
                mdsClient.Disconnect();
                System.Threading.Thread.Sleep(1000);
            }
        }
Beispiel #15
0
        static void Main(string[] args)
        {
            //Create MDSClient object to connect to DotNetMQ
            //Name of this application: Application2
            var mdsClient = new MDSClient("Application2");

            //Register to MessageReceived event to get messages.
            mdsClient.MessageReceived += MDSClient_MessageReceived;

            //Connect to DotNetMQ server
            mdsClient.Connect();

            //Wait user to press enter to terminate application
            Console.WriteLine("Press enter to exit...");
            Console.ReadLine();

            //Disconnect from DotNetMQ server
            mdsClient.Disconnect();
        }
Beispiel #16
0
        static void Main(string[] args)
        {
            Console.WriteLine("Press enter to query a stock status");
            Console.ReadLine();

            //Connect to DotNetMQ
            var mdsClient = new MDSClient("StockClient");

            mdsClient.MessageReceived += mdsClient_MessageReceived;
            mdsClient.Connect();

            //Create a stock request message
            var stockQueryMessage = new StockQueryMessage {
                StockCode = "S01"
            };

            //Create a MDS message
            var requestMessage = mdsClient.CreateMessage();

            requestMessage.DestinationApplicationName = "StockServer";
            requestMessage.TransmitRule = MessageTransmitRules.NonPersistent;
            requestMessage.MessageData  = GeneralHelper.SerializeObject(stockQueryMessage);

            //Send message and get response
            var responseMessage = requestMessage.SendAndGetResponse();

            //Get stock query result message from response message
            var stockResult = (StockQueryResultMessage)GeneralHelper.DeserializeObject(responseMessage.MessageData);

            //Write stock query result
            Console.WriteLine("StockCode          = " + stockResult.StockCode);
            Console.WriteLine("ReservedStockCount = " + stockResult.ReservedStockCount);
            Console.WriteLine("TotalStockCount    = " + stockResult.TotalStockCount);

            //Acknowledge received message
            responseMessage.Acknowledge();

            Console.ReadLine();

            //Disconnect from DotNetMQ server.
            mdsClient.Disconnect();
        }
Beispiel #17
0
        static void Main(string[] args)
        {
            //Create MDSClient object to connect to DotNetMQ
            //Name of this application: Application1
            var mdsClient = new MDSClient("LapScore.Server");

            //Connect to DotNetMQ server
            //mdsClient.Connect();

            //Register to MessageReceived event to get messages.
            mdsClient.MessageReceived += MDSClient_MessageReceived;


            //Connect to DotNetMQ server
            mdsClient.Connect();


            while (KeepALive == true)
            {
            }
            mdsClient.Disconnect();
        }
Beispiel #18
0
        public Manager(int loopTime, string applicationName, string plcserverApplicationName)
        {
            ApplicationName          = applicationName;
            PLCServerApplicationName = plcserverApplicationName;

            Logger.InfoFormat("{0} application ready", ApplicationName);

            // Create MDSClient object to connect to DotNetMQ
            // Name of this application: PLCServer
            mdsClient = new MDSClient(ApplicationName);
            mdsClient.AutoAcknowledgeMessages = true;

            // Connect to DotNetMQ server
            try
            {
                mdsClient.Connect();
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                // esco
                this.Exit();
            }

            // configurazione

            // data path
            // xml file name
            // opctags filename
            // lista plc connessi  copn plcname,ipaddress

            // lettura del dominio dei tags
            LoadOPCTags(@"C:\Users\uts.MARINI\Documents\projects\cyb500n\Versione 9.6.x\Exe\OPCTags.xls", "plc4");
            LoadOPCTags(@"C:\Users\uts.MARINI\Documents\projects\cyb500n\Versione 9.6.x\Exe\OPCTags.xls", "plc4cist");
            LoadOPCTags(@"C:\Users\uts.MARINI\Documents\projects\cyb500n\Versione 9.6.x\Exe\OPCTags.xls", "plc5");
            LoadOPCTags(@"C:\Users\uts.MARINI\Documents\projects\cyb500n\Versione 9.6.x\Exe\OPCTags.xls", "plc2");
            LoadOPCTags(@"C:\Users\uts.MARINI\Documents\projects\cyb500n\Versione 9.6.x\Exe\OPCTags.xls", "WamFoam");

            // Register to MessageReceived event to get messages.
            mdsClient.MessageReceived += Manager_MessageReceived;

            PLCServerConnect();

            // spostare su plcserver
            PLCAdd("plc4", "213.131.0.161");
            PLCAdd("plc4cist", "213.131.0.161");
            PLCAdd("plc5", "213.131.0.161");
            PLCAdd("plc2", "213.131.0.161");
            PLCAdd("WamFoam", "213.131.0.161");


            // configurazione

            // lettura del dominio degli oggetti
            MariniImpiantoTree.InitializeFromXmlFile(@"C:\Users\uts.MARINI\Documents\projects\new-project\oms\MariniImpianto\impianto-test.xml");

            mariniImpiantoTree = MariniImpiantoTree.Instance;


            SubscribePLCTags(mariniImpiantoTree);

            LoopTime       = loopTime;
            timer.Elapsed += timer_Elapsed;
            timer.Enabled  = true;

            Logger.InfoFormat("{0} application ready", ApplicationName);
        }
Beispiel #19
0
        private static void Main(string[] args)
        {
            Ts(); return;

            var mdsClient = new MDSClient("ET");

            mdsClient.Connect();

            bool isAuto    = false;
            int  autoCount = 100;

            Console.WriteLine("输入(auto),自动执行100次");
            isAuto = Console.ReadLine() == "auto";

            while (true)
            {
                if (!isAuto)
                {
                    string str = Console.ReadLine();
                    if (str == "end")
                    {
                        break;
                    }
                }
                else
                {
                    if (autoCount-- <= 0)
                    {
                        break;
                    }
                }

                Task[] ts = new Task[100];
                for (int i = 0; i < 100; i++)
                {
                    ts[i] = new Task(() =>
                    {
                        Random ran = new Random();
                        int number = ran.Next(0, 10);

                        var message = mdsClient.CreateMessage();
                        message.DestinationApplicationName = "DataCalc";
                        message.MessageData = GeneralHelper.SerializeObject(new RequestDataCalcMessage()
                        {
                            StructId = number,
                            DateTime = DateTime.Now
                        });

                        message.TransmitRule = MDS.Communication.Messages.MessageTransmitRules.NonPersistent;
                        message.Send();
                        Console.WriteLine("发送消息:结构物编号{0},采集时间:{1}", number, DateTime.Now);
                    });
                }

                foreach (Task task in ts)
                {
                    task.Start();
                }

                Thread.Sleep(200);
            }

            mdsClient.Disconnect();
            Console.ReadLine();
        }
Beispiel #20
0
 public DotNetMQHandler(string applicationName, string ipAddress, int port)
 {
     client = new MDSClient(applicationName, ipAddress, port);
     client.MessageReceived += client_MessageReceived;
     client.Connect();
 }
Beispiel #21
0
        static void Main(string[] args)
        {
            Thread.Sleep(1000);

            System.Timers.Timer UpdateClock = new System.Timers.Timer();
            UpdateClock.Enabled  = false;
            UpdateClock.Interval = 500;
            UpdateClock.Elapsed += new System.Timers.ElapsedEventHandler(UpdateClock_Elapsed);

            Console.BackgroundColor = ConsoleColor.Black;
            Console.ForegroundColor = ConsoleColor.White;


            string _Title = @"Lap Score v0.1";

            //Create MDSClient object to connect to DotNetMQ
            //Name of this application: Application1
            //Connect to DotNetMQ server
            mdsClient.Connect();
            Guid testAccount = Guid.NewGuid();

            clock.Init(testAccount);


            while (true)
            {
                if (_IsRecording)
                {
                    Console.BackgroundColor = ConsoleColor.White;
                    Console.ForegroundColor = ConsoleColor.DarkBlue;
                    Console.Write(_Title + "...");
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Recording");
                }
                else
                {
                    Console.BackgroundColor = ConsoleColor.White;
                    Console.ForegroundColor = ConsoleColor.DarkBlue;
                    Console.Write(_Title + "...");
                    Console.WriteLine("Not Recording");
                }

                Console.BackgroundColor = ConsoleColor.Black;
                Console.ForegroundColor = ConsoleColor.White;

                Console.WriteLine("Commands are.......");
                Console.WriteLine("Press (R) to record.");
                Console.WriteLine("Press (Q) to quite.");
                Console.WriteLine("Press (space) to start race , twice to reset.");
                Console.WriteLine("Press (0-9) for car numbers.");

                var xmlSave = new XmlDocument();


                Car car = new Car
                {
                    Driver = new Driver {
                        Name = "David"
                    },
                    Number      = 1,
                    Transponder = "123121"
                };
                CarRegistrationMessage carmessage = new CarRegistrationMessage();
                carmessage.Init(testAccount, car);

                System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(carmessage.GetType());

                StringWriter writer = new StringWriter();
                x.Serialize(writer, carmessage);


                SendMessage(mdsClient, "LapScore.MessageService.Listener", carmessage.AsXml().ToString(), MDS.Communication.Messages.MessageTransmitRules.NonPersistent);
                SendMessage(mdsClient, "LapScore.Server", carmessage.AsXml().ToString(), MDS.Communication.Messages.MessageTransmitRules.StoreAndForward);

                Car car1 = new Car
                {
                    Driver = new Driver
                    {
                        Name = "Ed"
                    },
                    Number      = 2,
                    Transponder = "123121"
                };


                carmessage = new CarRegistrationMessage();
                carmessage.Init(testAccount, car1);
                x = new System.Xml.Serialization.XmlSerializer(carmessage.GetType());

                writer = new StringWriter();
                x.Serialize(writer, carmessage);

                SendMessage(mdsClient, "LapScore.MessageService.Listener", carmessage.AsXml().ToString(), MDS.Communication.Messages.MessageTransmitRules.NonPersistent);
                SendMessage(mdsClient, "LapScore.Server", carmessage.AsXml().ToString(), MDS.Communication.Messages.MessageTransmitRules.StoreAndForward);



                var keypress = Console.ReadKey();
                //Get a message from user
                if (keypress.Key == ConsoleKey.Q)
                {
                    QuitMessage record = new QuitMessage();
                    record.Init(testAccount);
                    x      = new System.Xml.Serialization.XmlSerializer(record.GetType());
                    writer = new StringWriter();
                    x.Serialize(writer, record);

                    SendMessage(mdsClient, "LapScore.MessageService.Listener", writer.ToString(), MDS.Communication.Messages.MessageTransmitRules.NonPersistent);
                    SendMessage(mdsClient, "LapScore.Server", writer.ToString(), MDS.Communication.Messages.MessageTransmitRules.StoreAndForward);

                    break;
                }
                else if (keypress.Key == ConsoleKey.R)
                {
                    RecordMessage record = new RecordMessage();
                    record.Init(testAccount);
                    x      = new System.Xml.Serialization.XmlSerializer(record.GetType());
                    writer = new StringWriter();
                    x.Serialize(writer, record);

                    SendMessage(mdsClient, "LapScore.MessageService.Listener", writer.ToString(), MDS.Communication.Messages.MessageTransmitRules.NonPersistent);
                    SendMessage(mdsClient, "LapScore.Server", writer.ToString(), MDS.Communication.Messages.MessageTransmitRules.StoreAndForward);

                    _IsRecording = !_IsRecording;
                }
                else if (keypress.Key == ConsoleKey.Spacebar)
                {
                    if (_IsClockStarted == false)
                    {
                        _ClockStartTime         = DateTime.UtcNow;
                        clock.Payload.Loop      = 0;
                        clock.Payload.Elapsed   = 0;
                        clock.Payload.Remaining = 5000;
                    }


                    UpdateClock.Enabled = _IsClockStarted = !_IsClockStarted;
                }
                else if ((keypress.KeyChar >= 48) && (keypress.KeyChar <= 58))
                {
                    var carNumber = keypress.KeyChar - 48;

                    LapRegistrationMessage newMessage = new LapRegistrationMessage();
                    newMessage.Init(testAccount, "111111", carNumber, DateTime.UtcNow.Ticks - _ClockStartTime.Ticks);
                    SendMessage(mdsClient, "LapScore.MessageService.Listener", newMessage.AsXml().ToString(), MDS.Communication.Messages.MessageTransmitRules.NonPersistent);
                    SendMessage(mdsClient, "LapScore.Server", newMessage.AsXml().ToString(), MDS.Communication.Messages.MessageTransmitRules.StoreAndForward);

                    if (_IsRecording)
                    {
                        SendMessage(mdsClient, "LapScore.MessageService.Recorder", newMessage.AsXml().ToString(), MDS.Communication.Messages.MessageTransmitRules.StoreAndForward);
                    }
                }
                Console.Clear();
            }

            //Disconnect from DotNetMQ server
            mdsClient.Disconnect();
        }