다음을 통해 공유


Socket.EnableBroadcast 속성

정의

가 브로드캐스트 패킷을 Boolean 보낼 수 있는지 여부를 Socket 지정하는 값을 가져오거나 설정합니다.

public:
 property bool EnableBroadcast { bool get(); void set(bool value); };
public bool EnableBroadcast { get; set; }
member this.EnableBroadcast : bool with get, set
Public Property EnableBroadcast As Boolean

속성 값

true 에서 Socket 브로드캐스트 패킷을 보낼 수 있으면 이고, false그렇지 않으면 입니다. 기본값은 false입니다.

예외

데이터그램 소켓이 아닌 소켓에 이 옵션을 설정한 경우

Socket이 닫혔습니다.

예제

다음 코드 예제에서는 EnableBroadcast 속성입니다.

static void ConfigureUdpSocket(Socket^ udpSocket)
{

    // Set the Don't Fragment flag.
    udpSocket->DontFragment = true;
     
    // Enable broadcast.
    udpSocket->EnableBroadcast = true;
     
    // Disable multicast loopback.
    udpSocket->MulticastLoopback = false;
    Console::WriteLine("Udp Socket configured:");
    Console::WriteLine("  DontFragment {0}", 
        udpSocket->DontFragment);
    Console::WriteLine("  EnableBroadcast {0}", 
        udpSocket->EnableBroadcast);
    Console::WriteLine("  MulticastLoopback {0}", 
        udpSocket->MulticastLoopback);
}
static void ConfigureUdpSocket(Socket udpSocket)
{
    // set the Don't Fragment flag.
    udpSocket.DontFragment = true;
    // Enable broadcast.
    udpSocket.EnableBroadcast = true;

    // Disable multicast loopback.
    udpSocket.MulticastLoopback = false;

    Console.WriteLine("Udp Socket configured:");
    Console.WriteLine($"  DontFragment {udpSocket.DontFragment}");
    Console.WriteLine($"  EnableBroadcast {udpSocket.EnableBroadcast}");
    Console.WriteLine($"  MulticastLoopback {udpSocket.MulticastLoopback}");
}

설명

브로드캐스트는 특정 서브넷으로 제한되며 UDP(사용자 데이터그램 프로토콜)를 사용해야 합니다. 인터넷 프로토콜 버전 4의 경우 패킷을 255.255.255.255로 전송하여 로컬 서브넷으로 브로드캐스트할 수 있습니다. 또는 호스트 부분에 설정된 모든 비트가 있는 IP(인터넷 프로토콜) 주소의 네트워크 부분인 직접 브로드캐스트 주소를 사용할 수 있습니다. 예를 들어 IP 주소가 192.168.1.40(클래스 C 주소, netmask가 255.255.255.0인 경우 네트워크 부분은 처음 3개 8진수이고 호스트 부분은 마지막 8진수)인 경우 지시된 브로드캐스트 주소는 192.168.1.255입니다.

TCP(Transmission Control Protocol) 소켓에서 이 속성을 설정해도 아무런 효과가 없습니다.

적용 대상