P
poppyflower
Unregistered / Unconfirmed
GUEST, unregistred user!
有一个路由路,是支持"IP multicast"协议的,并且,网内己经有一台主机能通过这个路由取得包文,该机上运行的应用程序的配置项内有端口4000(UDP协议)等设置,路由器中也有一个配置项是"SDL Control Channel Multicast IP Address:224.0.1.6";
现在,想用D7中的Indy Clients中的IdIPMCastClient组件从该路由上收取组播包,进行二次开发,但一直不成功,
我是这样做的:
IdIPMCastClient1.MulticastGroup:='224.0.1.6'; //多播组
IdIPMCastClient1.DefaultPort:=0; //
IdIPMCastClient1.Bindings.Add.IP:='192.168.0.203'; //绑定IP
IdIPMCastClient1.Bindings.Add.Port:=4000; //绑定端口
IdIPMCastClient1.Active:=True;
但其OnIPMCastRead事件没有一点反应,
但如果另加入IdIPMCastServer:
IdIPMCastServer1.MulticastGroup:='224.0.1.6';
IdIPMCastServer1.Port:=4000;
IdIPMCastServer1.Active:=True;
... ....
再用IdIPMCastServer1.Send('1234567890')发送信息,
则同一网段内的IdIPMCastClient端用OnIPMCastRead却可以准确无误地收到包.
难道Indy Clients的IdIPMCastClient不是这样用的?
我应当如何做?
特此向各位前辈请教.
先谢了!
现在,想用D7中的Indy Clients中的IdIPMCastClient组件从该路由上收取组播包,进行二次开发,但一直不成功,
我是这样做的:
IdIPMCastClient1.MulticastGroup:='224.0.1.6'; //多播组
IdIPMCastClient1.DefaultPort:=0; //
IdIPMCastClient1.Bindings.Add.IP:='192.168.0.203'; //绑定IP
IdIPMCastClient1.Bindings.Add.Port:=4000; //绑定端口
IdIPMCastClient1.Active:=True;
但其OnIPMCastRead事件没有一点反应,
但如果另加入IdIPMCastServer:
IdIPMCastServer1.MulticastGroup:='224.0.1.6';
IdIPMCastServer1.Port:=4000;
IdIPMCastServer1.Active:=True;
... ....
再用IdIPMCastServer1.Send('1234567890')发送信息,
则同一网段内的IdIPMCastClient端用OnIPMCastRead却可以准确无误地收到包.
难道Indy Clients的IdIPMCastClient不是这样用的?
我应当如何做?
特此向各位前辈请教.
先谢了!