Indy > BroadCast 到 172.30.58.255 失败

Indy > BroadCast to 172.30.58.255 fail

我的环境:

C++ Builder XE4
Indy 10.5.8.3

我正在尝试向网络 172.30.58.X 广播,子网掩码为 255.255.255.0.

使用 TIdUDPClient,我尝试了以下导致失败(无响应)。

// case1 
IdUDPClient1->BroadcastEnabled = true;
IdUDPClient1->BroadCast(cmd, port, L"172.30.58.255");

相反,以下工作正常,但来自无限网络(也包括 172.30 以外的网络。58.XXX)

// case2
IdUDPClient1->BroadcastEnabled = true;
IdUDPClient1->BroadCast(cmd, port, L"255.255.255.255");

使用 Indy,我如何才能只广播到 172.30。58.XXX?

在执行任何访问 TIdUDPClient.Binding 属性 之前(例如 Broadcast()Connect()/ActiveSend/ReceiveBuffer() 等) , 将 TIdUDPClient.BoundIP 属性 设置为连接到 172.30.58.XXX 网络的本地 IP。