Looking for c# Keywords? Try Ask4Keywords

C# Language Основной клиент UDP


пример

В этом примере кода создается клиент UDP, а затем отправляется «Hello World» по сети назначаемому получателю. Слушатель не должен быть активным, так как UDP является без установления соединения и будет транслировать сообщение независимо. После отправки сообщения выполняется работа с клиентами.

byte[] data = Encoding.ASCII.GetBytes("Hello World");
string ipAddress = "192.168.1.141";
string sendPort = 55600;
try
{
     using (var client = new UdpClient())
     {
         IPEndPoint ep = new IPEndPoint(IPAddress.Parse(ipAddress), sendPort);
         client.Connect(ep);
         client.Send(data, data.Length);
     }
}
catch (Exception ex)
{
     Console.WriteLine(ex.ToString());
}

Ниже приведен пример прослушивателя UDP для дополнения вышеупомянутого клиента. Он будет постоянно сидеть и слушать трафик на данном порту и просто записывать эти данные на консоль. В этом примере содержится флаг управления « done », который не задан внутри, и полагается на что-то, чтобы установить это, чтобы разрешить конец слушателя и выйти.

bool done = false;
int listenPort = 55600;
using(UdpClinet listener = new UdpClient(listenPort))
{
    IPEndPoint listenEndPoint = new IPEndPoint(IPAddress.Any, listenPort);
    while(!done)
    {
        byte[] receivedData = listener.Receive(ref listenPort);

        Console.WriteLine("Received broadcast message from client {0}", listenEndPoint.ToString());

        Console.WriteLine("Decoded data is:");
        Console.WriteLine(Encoding.ASCII.GetString(receivedData)); //should be "Hello World" sent from above client
    }
}