UDP广播不适用于跨接电缆

UDP广播不适用于跨接电缆,udp,Udp,我使用以下代码来处理braodacst UDP请求。我的电脑上有两张网卡。一个连接到局域网,另一个通过电缆连接到另一台计算机。因此,我的braodcast在局域网上运行良好,但不是通过直接连接到计算机的电缆。你能帮我吗 我的代码: Socket sending_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

我使用以下代码来处理braodacst UDP请求。我的电脑上有两张网卡。一个连接到局域网,另一个通过电缆连接到另一台计算机。因此,我的braodcast在局域网上运行良好,但不是通过直接连接到计算机的电缆。你能帮我吗

我的代码:

            Socket sending_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram,
            ProtocolType.Udp);

            IPAddress send_to_address = null;

            send_to_address = IPAddress.Broadcast;

            sending_socket.EnableBroadcast = true;

            IPEndPoint sending_end_point = new IPEndPoint(send_to_address, port);

            sending_socket.SendTo(buffer, sending_end_point);

什么是IPAddress.Broadcast?如果是通用广播地址255.255.255.255,则只发送到默认接口。您需要使用特定于子网的广播地址发送到连接到该接口的子网。是。Braodcast表示255.255.255.255。默认接口意味着什么?我想我知道你想说什么。因此,如果该子网上的IP地址是169.35.67.2,那么我应该尝试在169.35.67.255上广播?默认接口可能是与默认路由关联的接口,但我不确定;也许它只是内核接口表中的第一个接口。如果子网掩码为255.255.255.0,则这是正确的广播地址。谢谢Barmar。你的建议奏效了。我只需要在那个子网上广播。