Exemple #1
0
        static void Main(string[] args)
        {
            Task t = Task.Factory.StartNew(async () =>
                {
                    Console.WriteLine("Receiver...");
                    Console.WriteLine("Input my port number! ^_^");
                    int port = Convert.ToInt32(Console.ReadLine());

                    MessageSenderReceiver messageReceiver = new MessageSenderReceiver();
                    XMLWorker xmlWorker = new XMLWorker("ReceivedMessages.txt");
                    MessageChain msg_chain = new MessageChain();
                    //Task<byte[]> bytes = null;
                    BinaryWorker bw = new BinaryWorker();
                    Message mg = null;
                    while (true)
                    {
                        byte[]bytes = await messageReceiver.receiveBytesAsync(port);
                        mg = bw.bytesToMessage(bytes);
                        msg_chain.add(mg);
                        xmlWorker.writeXML(msg_chain);
                        Console.WriteLine(mg.message);
                        Console.ReadLine();
                    }
                });
            t.Wait();
        }
Exemple #2
0
 public void writeXML(MessageChain m)
 {
     XmlSerializer formatter = new XmlSerializer(typeof(MessageChain));
     using (FileStream fs = new FileStream(xmlName, FileMode.OpenOrCreate))
     {
         formatter.Serialize(fs, m);
     }
 }
Exemple #3
0
 static void Main(string[] args)
 {
     MessageChain mch = new MessageChain();
     mch.add(new Message(1, "test1"));
     mch.add(new Message(2, "test2"));
     mch.add(new Message(3, "test3"));
     XMLWorker xmlw = new XMLWorker("test.txt");
     xmlw.writeXML(mch);
 }
Exemple #4
0
        static void Main(string[] args)
        {
            Task t = Task.Factory.StartNew(async () =>
                {
                    Console.WriteLine("Broker...");
                    XMLWorker xmlWorker = new XMLWorker("Reserv.txt");
                    MessageSenderReceiver messageReceiveSend = new MessageSenderReceiver();
                    BinaryWorker bw = new BinaryWorker();
                    MessageChain msg_chain = xmlWorker.readXML();
                    Message m = null;
                    byte[] bytes = null;

                    if (msg_chain != null)
                    {
                        while (true)
                        {
                            m = msg_chain.extract();
                            if (m == null) break;

                            bytes = bw.messageToBytes(m);
                            messageReceiveSend.sendBytesAsync(bytes, m.port);
                            xmlWorker.clear();
                        }
                    }

                    while (true)
                    {
                        bytes = await messageReceiveSend.receiveBytesAsync(30000);
                        m = bw.bytesToMessage(bytes);
                        if (m != null)
                        {
                            MessageChain msg_chain_reserv = new MessageChain();
                            msg_chain_reserv.add(m);
                            xmlWorker.writeXML(msg_chain_reserv);
                        }
                        messageReceiveSend.sendBytesAsync(bytes, m.port);
                        xmlWorker.clear();
                        Console.WriteLine("Message was sent to port " + m.port + "!");
                    }
                });
            t.Wait();
        }