C#

[C#] Broadcast

딸기우유중독 2024. 5. 24. 11:16

 

 


    public void ResponseBroadcast(AddressInfo? serverAddressInfo = null)
    {
        serverAddressInfo ??= ServerAddressInfo;

        var server = new UdpClient(serverAddressInfo.Port);
        var responseData = Encoding.ASCII.GetBytes($"Response {serverAddressInfo.HostName} DSM");
        var clientEp = new IPEndPoint(IPAddress.Any, serverAddressInfo.Port);

        while (true)
        {
            var clientRequestData = server.Receive(ref clientEp);
            var clientRequest = Encoding.ASCII.GetString(clientRequestData);

            Trace.WriteLine($"Recived {clientRequest} from {clientEp}");
            server.Send(responseData, responseData.Length, clientEp);
        }

    }

    public void RequestBroadcast(AddressInfo? serverAddressInfo = null)
    {
        serverAddressInfo ??= ServerAddressInfo;

        var client = new UdpClient();

        client.EnableBroadcast = true;
        client.Client.ReceiveTimeout = 3000;

        var serverEp = new IPEndPoint(IPAddress.Any, 0);
        var requestData = Encoding.ASCII.GetBytes($"Request {serverAddressInfo.HostName} DSM");

        client.Send(requestData, requestData.Length, new IPEndPoint(IPAddress.Broadcast, serverAddressInfo.Port));
        while (true)
        {
            try
            {
                var serverResponseData = client.Receive(ref serverEp);
                var serverResponse = Encoding.ASCII.GetString(serverResponseData);
                Trace.WriteLine($"Received {serverResponse} from {serverEp}");

            }
            catch (Exception e)
            {
                Trace.WriteLine(e);
                client.Close();
                return;
            }

            Thread.Sleep(1000);
        }
    }

 

 

 

https://stackoverflow.com/questions/22852781/how-to-do-network-discovery-using-udp-broadcast

 

How to do Network discovery using UDP broadcast

I want to to do network discovery using UDP Broadcast in C#. I don't know how to do this. Can you give me advice on how to do it? I want to do like this tutorial.

stackoverflow.com

 

 

다른 PC에 브로드캐스팅 안되는 경우

인터페이스 뚫려있어야함.

 

https://www.sysnet.pe.kr/2/0/11368

 

.NET Framework: 699. UDP 브로드캐스트 주소 255.255.255.255와 192.168.0.255의 차이점과 이를 고려한 C# UDP 서

글쓴 사람 정성태 (techsharer at outlook.com) 홈페이지 첨부 파일 부모글 보이기/감추기 (연관된 글이 3개 있습니다.) UDP 브로드캐스트 주소 255.255.255.255와 192.168.0.255의 차이점과 이를 고려한 C# UDP 서버

www.sysnet.pe.kr

 

 

728x90