Facebook
From Serwer, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 228
  1. using System;
  2. using System.Net;
  3. using System.Net.Sockets;
  4. using System.Text;
  5. using System.Collections;
  6. public class UdpSrvrSample
  7. {
  8.    static BitArray ProtocolBuilder(string operation,string response,string idref)
  9.    {
  10.         int pom1 = 0, pom2 = 0, pom3 = 0;
  11.        BitArray c = new BitArray(24);
  12.         BitArray g = new BitArray(24);
  13.         for(int i=0;i<c.Length;i++)
  14.         {
  15.             if(i<=5)
  16.             {
  17.                 if (operation[pom1] == '0')
  18.                     c[i] = false;
  19.                 else
  20.                     c[i] = true;
  21.                 pom1++;
  22.             }  
  23.             if(i>5 && i<=9)
  24.             {
  25.                 if (response[pom2] == '0')
  26.                     c[i] = false;
  27.                 else
  28.                     c[i] = true;
  29.                 pom2++;
  30.             }
  31.             if(i>9 && i<=17)
  32.             {
  33.                 if (idref[pom3] == '0')
  34.                     c[i] = false;
  35.                 else
  36.                     c[i] = true;
  37.                 pom3++;
  38.             }
  39.             if (i > 17)
  40.                 c[i] = false;
  41.         }
  42.         for (int i = 0; i < c.Length; i++)
  43.         {
  44.             g[g.Length - i-1] = c[i];
  45.         }
  46.         Console.Write("\n");
  47.         return g;
  48.    }
  49.  
  50.     public static void Main()
  51.     {
  52.         byte[] data = new byte[3];
  53.         BitArray HGH;
  54.         HGH = ProtocolBuilder("110011", "1011", "01011010");//pole operacji, pole odpowiedzi, pole identyfikatora
  55.         byte[] bytes = new byte[3];
  56.         HGH.CopyTo(bytes, 0);
  57.         Array.Reverse(bytes, 0, bytes.Length);
  58.         IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9050);
  59.         UdpClient newsock = new UdpClient(ipep);
  60.  
  61.         Console.WriteLine("Waiting for a client...");
  62.  
  63.         IPEndPoint sender = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 0);
  64.  
  65.         data = newsock.Receive(ref sender);
  66.         newsock.Send(bytes,bytes.Length, sender);
  67.  
  68.         while (true)
  69.         {
  70.             data = newsock.Receive(ref sender);
  71.  
  72.             Console.WriteLine(Encoding.ASCII.GetString(data, 0, data.Length));
  73.             newsock.Send(data, data.Length, sender);
  74.         }
  75.     }
  76. }