Ejemplo n.º 1
0
        private void SenderThread()
        {
            Random rng = new Random();

            while (true)
            {
                int            serverIndex     = rng.Next(serviceIdentity.Servers.Count);
                PublicIdentity serverIdentity  = serviceIdentity.Servers[serverIndex];
                byte[]         serverPublicKey = serverIdentity.PublicKey;

                int    randomNumber = rng.Next(10000);
                string message      = string.Format("Hello {0}", randomNumber);
                byte[] messageBytes = Encoding.UTF8.GetBytes(message);

                Console.WriteLine("Sending message {0} to {1}", message, IoScheduler.PublicKeyToString(serverPublicKey));

                scheduler.SendPacket(serverPublicKey, messageBytes);
                Thread.Sleep(1000);
            }
        }
Ejemplo n.º 2
0
 private void ReceiverThread()
 {
     while (true)
     {
         bool   ok;
         bool   timedOut;
         byte[] remote;
         byte[] messageBytes;
         scheduler.ReceivePacket(0, out ok, out timedOut, out remote, out messageBytes);
         if (!ok)
         {
             Console.WriteLine("Not OK, so terminating receiver thread");
             return;
         }
         if (timedOut)
         {
             Thread.Sleep(100);
             continue;
         }
         string message = Encoding.UTF8.GetString(messageBytes);
         Console.WriteLine("Received message {0} from {1}", message, IoScheduler.PublicKeyToString(remote));
     }
 }