IP多播的VC++实现!

来源:互联网 发布:手机升降调软件 编辑:程序博客网 时间:2024/05/21 13:10

从昨天晚上到现在,断断续续花了一点时间终于把IP多播实现了.这也可以说是完成了我的一个小心愿吧.因为以前在学校的时候就想过做这个东西,不过由于客观条件限制,没有完成.看来大学没有买电脑还真是一个不小的错误.

在做的过程中遇到了一些问题,多亏了网络这个大宝库,在这里谢谢各位兄弟姐妹的经验共享,我也把我做过程中的一些问题记下来,方便自己也方便各位参考.

核心代码是:

上面主要就是一个WSASocket的问题,这个东西很多人在MFC条件下都会遇到一个问题就是不能用.解决它的办法是将stdafx.h头文件中加入winsock2.h和在project->setting->LINK中加入ws2_32.lib.同时注意,如果在你原来的stdafx.h文件中有类似afxsock.h头文件的话,请将其删除.否则会出现冲突.

还有一处比较关键的代码是:

此处应该做的就是将点对点中的地址改为多播地址.如果仍采用原来的点对点地址进行发送的话,我尝试过使用本地回路地址127.0.0.1,但是在接受端没办法接收.或许因为接收端的m_socket已经加入多播组的缘故.

同时我还做的一件事情就是添加一个析构函数

其他地方与点对点的通信没有多大区别.

还有一个是采用我的这种方法,socket应为2.0版本.因此在加载套接字库的过程当中应加载2.0版本.也可以直接用MSDN当中的事例.把afxsockinit删除.

大概就这么多,又学习了一点,不过路还很长.