Windows 7上的多播套接字问题

时间:2015-04-14 06:58:28

标签: sockets multicast

我已经设置了UDP服务器,并在localhost接口和物理以太网上加入了一个组播组,以便能够从127.0.0.1和192.168.78接收多播。*(示例)。

根据文档,组播消息的目标接口是通过源地址确定的,我有一个客户端发送消息,但有时选择localhost接口,有时选择以太网接口。即在前一种情况下,源地址是127.0.0.1。

问题:如何强制数据报套接字始终将多播消息发送到物理接口? (即源地址为192.168.78.xx)

1 个答案:

答案 0 :(得分:1)

  

根据文档,多播消息的目标接口是通过源地址

确定的

没有。它由通过查找IP路由表给出的多播地址路由确定,除非您使用IP_MULTICAST_IF选项,该选项设置传出多播的默认接口。

  

我有一个客户端发送消息,但有时会选择localhost接口,有时候是以太网接口。即在前一种情况下,源地址是127.0.0.1。

     

问题:如何强制数据报套接字始终将多播消息发送到物理接口? (即源地址为192.168.78.xx)

使用上面提到的选项。

来源:Stevens 等, Unix网络编程,第3版,§21.6。