最近工作中编写UDP多播程序,要求能收能发。要求是非常简单了,但是从来没有这方面的经验,于是开始到网上翻,先看看基本的概念,再下载能用的代码,然后改成自己需要的,凡事都是三段论,三步走。
概念:
多播:加入了同一个多播组的主机可以接受到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。主机可以向路由器请求加入或退出某个组,网络中的路由器和交换机有选择的复制并传输数据,即只将组内数据传输给那些加入组的主机。这样既能一次将数据传输给多个有需要(加入组)的主机,又能保证不影响其他不需要数据(未加入组)主机的其他通讯。
代码:
接下来找代码,看看多播是什么效果,有个切身的感受,才能加深理解嘛。上google code search 输入 “multicast ip_add_membership lang:c|c++ 234.5.6.7” ,搜索的关键字里面加了一个ip地址,是因为看了别的例子,拿这个ip地址做多播地址,所以就把它也当关键字输进去了,测试了几个,发现这个好用,简单http://www.google.cn/codesearch/p?hl=zh-CN#uKFNR_GmXJU/reference/programming/features/multicast/MulticastTest.zip%7CYvUlBXkxhqc/Main.cpp&q=multicast%20ip_add_membership%20lang:c%7Cc++%20234.5.6.7
下面是连接提供的代码,新建一个控制台工程,粘贴过来就可以用,可能需要在最前面加一行