public async Task Start() { Console.WriteLine("Starting server..."); using (_udpServer = new UdpClient(_port, AddressFamily.InterNetwork)) { _remoteEndPoint = new IPEndPoint(IPAddress.Parse(_multicastIPAddress), _multicastPort); _udpServer.JoinMulticastGroup(IPAddress.Parse(_multicastIPAddress)); _udpServer.MulticastLoopback = true; Console.WriteLine($"Server started..."); await Task.Factory.StartNew(SendPackage); } }
private static void Main() { Console.WriteLine("Server started."); const string fileName = "Settings.xml"; if (!File.Exists(fileName)) { Console.WriteLine($"{fileName} not found."); return; } using var fileStream = File.Open(fileName, FileMode.Open); var serializer = new XmlSerializer(typeof(Options)); var options = (Options)serializer.Deserialize(fileStream); var random = new Random(); const int mode = 35000; const int maxValue = 100000; using var udpClient = new UdpClient(AddressFamily.InterNetwork); var address = IPAddress.Parse(options.IpAddress); var ipEndPoint = new IPEndPoint(address, options.Port); udpClient.JoinMulticastGroup(address); long i = 0; while (true) { i++; try { int value = random.Next(random.Next(mode - random.Next(1, mode)), random.Next(mode, mode + random.Next(1, maxValue))); var message = new Message(i, value); using var stream = new MemoryStream(); Serializer.Serialize(stream, message); udpClient.Send(stream.ToArray(), (int)stream.Length, ipEndPoint); } catch (Exception e) { Console.WriteLine(e); } } }
static void Main(string[] args) { UdpClient udp = new UdpClient(9090); Console.WriteLine("Server is setting ...."); udp.JoinMulticastGroup(IPAddress.Parse("224.100.0.1"), 50); IPEndPoint ipe = new IPEndPoint(IPAddress.Loopback, 9090); while (true) { var buffer = udp.Receive(ref ipe); var data = Encoding.ASCII.GetString(buffer); Console.WriteLine("Received : " + data + " from : " + ipe.Address); } udp.Close(); Console.ReadKey(); }