想写一个组播的程序,不知道服务器地址该用什么

我想做一个组播的程序,要求某一个局域网内的机器做服务器,为每一个加入组播的机器发送消息,这些机器是在外网,即在internat上的。我现在用 addr=InetAddress.getByName("224.0.1.1");,我这后面的ip到底该怎么写呢?随便搞一个吗?还有就是客户端连的时候,再用 224.0.1.1连就不对了吧

第1个回答  2011-08-03
你是要做一个组播服务器程序吗?如果是,你的服务器应该要支持IGMP协议。
你现在想让组播服务器在公网上转发数据,进行实验。我认为这种实验方法存在2个问题:
1,网络环境不具备。你的组播报文从服务器到主机的过程中需要经过一系列switch和router,所有这些设备必须都支持组播协议,才会形成组播树,将你的消息转发到所有主机。(这个外部的环境不可控)。
2、即使一系列的网络设备支持,网络运营商也不会允许私人随意占用 组播IP地址。
建议你自己搭建一个私网环境进行实验。在这个环境中,只要你的服务器和主机都处在相同的组播组中,就可以了。在这个私网环境中,224.0.1.1是一个合法的组播IP.追问

谢谢您的答复!
我就是想做一个组播服务器程序,包括客户端。像一个聊天室一样,好多客户可以加入进这个群,服务器可以给他们发送消息。我现在是有环境的,一个公网的主机,我自己的机器做客户端。服务器如何才能支持igmp协议呢?如果我要做这个程序的话,还得从网络运营商那里申请吗?

追答

我还以为你是你是要架设一个IPTV组播服务器呢,我理解错了。
IGMP协议是工作在网络层的组管理协议,你这种情况可能用不上了。
应该也无需采用224.0.1.1这种组播地址。你应该是在应用层实现点到多点的发送。
具体我没有搞过哦,再问问别人。

相似回答