public void init(WSServer wsserver) { this.wsserver = wsserver; string message; int recv; byte[] data = new byte[1024]; IPEndPoint ipep = new IPEndPoint(this.udpip, this.udpp); Socket newsock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); try { newsock.Bind(ipep); } catch (Exception ex) { Console.WriteLine(ex.Message); } // Console.WriteLine("Waiting for a client..."); IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0); EndPoint Remote = (EndPoint)(sender); Console.WriteLine(DateTime.Now + " [UdpServer] server started on: " + this.udpip + ":" + this.udpp); //string m = "[Message]\nsender=eth1\ntimestamp=231.221\n[Location]\npos=3.12312,4.12421,7.21133\nori=355,90,0\nname=ufdhfdhfd"; while (true) { try { data = new byte[1024]; recv = newsock.ReceiveFrom(data, ref Remote); message = Encoding.ASCII.GetString(data, 0, recv); Console.WriteLine(DateTime.Now + " [UdpServer] Message received: \n" + message + "\n\n"); this.parseMessage(message); } catch (Exception ex) { Console.WriteLine(ex.Message); } } }
static void Main(string[] args) { if (args.Length != 1) { Console.WriteLine("usage: argument 1: ip\n UDP-Port : 4051\nWS-Port : 4123"); return; } //parameter from console "-wsp" web-scoket port int wsp = 4123; // IPAddress wsip = IPAddress.Loopback;//IPAddress.Parse("10.218.9.30");//IPAddress.Parse("10.10.5.130"); IPAddress wsip = IPAddress.Parse(args[0]); int udpp = 4051; // IPAddress udpip = IPAddress.Loopback;//IPAddress.Parse("10.218.9.30");//IPAddress.Parse("10.10.5.130"); IPAddress udpip = IPAddress.Parse(args[0]); WSServer ws = new WSServer(wsip, wsp); UDPServer udp = new UDPServer(udpip, udpp); ws.init(); udp.init(ws); }