Example #1
0
        /**
         * Sends a msg to a node
         */
        private void sendMessage(Message msg, Knoten node)
        {
            if (sendId)
            {
                sendId = false;
                sendIdTo();
            }
            try
            {
                //send a msg to a tcp listener
                TcpClient client = new TcpClient(node.ip, node.port);
                //Byte[] data = System.Text.Encoding.ASCII.GetBytes(msg);

                NetworkStream stream = client.GetStream();
                var           writer = new XmlSerializer(typeof(Message));
                // Send the message to the connected TcpServer.
                //stream.Write(data, 0, data.Length);
                Console.WriteLine("Send Msg ##############################");
                Console.WriteLine("Starte Sende " + DateTime.Now);
                writer.Serialize(stream, msg);
                Console.WriteLine("Sent  to " + node.id + ", msg: " + msg.nachricht + ", at " + DateTime.Now);
                stream.Close();
                client.Close();
                Console.WriteLine("Verbindung Beendet " + DateTime.Now + Environment.NewLine);
            }
            catch (SocketException)
            {
                Console.WriteLine(" At Sending the Msg: " + msg.nachricht + ", node " + node.id + " not available " + DateTime.Now);
            }
        }
Example #2
0
 static void Main(string[] args)
 {
     Console.WriteLine(".exe id believecounter neighbord");
     //TODO: read the files and id from args
     if (args.Length != 0)
     {
         Knoten k = new Knoten(Convert.ToInt32(args[0]));
         int    believeCounter = Convert.ToInt32(args[1]);
         k.readNodes("test.txt");
         k.nodeInit();
         k.readGraph("graph1.gv");
         Console.WriteLine("*************info*******************");
         Console.WriteLine("id: " + k.id + ", ip:port: " + k.ip + ":" + k.port);
         Console.WriteLine("Nachbaranzahl: " + k.neighBors.Count);
         Console.WriteLine("*************!info******************");
         //reducing neighbor number
         if (args.Length > 2)
         {
             k.neighborLimit(Convert.ToInt32(args[2]));
         }
         k.Listen();
         foreach (var rumor in k.rumors)
         {
             if (rumor.believe(believeCounter))
             {
                 Console.WriteLine("believe " + rumor.rumor);
             }
         }
         Console.WriteLine("All Rumors **** ");
         Console.WriteLine("Node: " + k.id + ", bc: " + believeCounter);
         for (var i = 0; i < k.rumors.Count; i++)
         {
             Console.WriteLine("Rumor: " + k.rumors[i].rumor + ", Count: " + k.rumors[i].counter);
         }
     }
 }