using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Collections; public class UdpSrvrSample { static BitArray ProtocolBuilder(string operation,string response,string idref) { int pom1 = 0, pom2 = 0, pom3 = 0; BitArray c = new BitArray(24); BitArray g = new BitArray(24); for(int i=0;i5 && i<=9) { if (response[pom2] == '0') c[i] = false; else c[i] = true; pom2++; } if(i>9 && i<=17) { if (idref[pom3] == '0') c[i] = false; else c[i] = true; pom3++; } if (i > 17) c[i] = false; } for (int i = 0; i < c.Length; i++) { g[g.Length - i-1] = c[i]; } Console.Write("\n"); return g; } public static void Main() { byte[] data = new byte[3]; BitArray HGH; HGH = ProtocolBuilder("110011", "1011", "01011010");//pole operacji, pole odpowiedzi, pole identyfikatora byte[] bytes = new byte[3]; HGH.CopyTo(bytes, 0); Array.Reverse(bytes, 0, bytes.Length); IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9050); UdpClient newsock = new UdpClient(ipep); Console.WriteLine("Waiting for a client..."); IPEndPoint sender = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 0); data = newsock.Receive(ref sender); newsock.Send(bytes,bytes.Length, sender); while (true) { data = newsock.Receive(ref sender); Console.WriteLine(Encoding.ASCII.GetString(data, 0, data.Length)); newsock.Send(data, data.Length, sender); } } }