我爱Aspx >> VC.Net >> IP多播技术及其编程(转载自http://www.zq.com.cn/)调用sendto()函数,可在指定的UDP套接字上向指定的多播组发送多播数据。调用时,参数to应指向多播组的IP地址。值得注意的是,若一个应用程序只是打算给多播组发送数据,便不必加入一个多播组。
8.等待事件
调用WSAAsyncSelect()函数,使套接字置于非阻塞模式,这时应用程序就可在该套接字上接收以Windows消息为基础的网络事件通知。例如,若参数lEvent值为FD_READ,则应用程序可在套接字上接收到“数据正等待被读入”的通知。
9.从多播组接收数据
调用recvfrom函数,可在指定的UDP套接字上读取输入数据。多播通信中数据的发送与接收一般采用同一个端口,因此其发送套接字和接收套接字是一样的。
10.关闭套接字,释放Winsock资源。
在多播通信结束后,先调用closesocket()函数关闭多播套接字和UDP套接字,然后调用WSACleanup()函数结束对Windows Sockets DLL的使用。
三、应用实例
为了说明IP多播技术的应用方法,本人在Visual C++.NET环境下设计了一个简单的基于Windows Socket 2的IP多播应用程序,通过该例子读者可以掌握IP多播应用程序设计的一般方法。该程序的具体设计方法如下:
1.在Visual Studio.NET中建立一个基于对话框的MFC项目CMulticastSocket。注意在“高级功能”设置中不要选择“Windows套接字”,这是因为MFC只支持Windows Socket 1而不支持Windows Socket 2。为了能使用Winsock 2 API编程,在程序中应包含“winsock2.h”头文件,并在项目中加入ws2_32.lib的静态库,该静态库应设置在项目属性的“链接器”\“输入”\“附加依赖项”中。
2.在对话框(类名CCMulticastSocketDlg)资源中,设置它的Caption为“WinSock 2多播应用程序”,并添加以下控件:
【我对这篇文章有话说?】
在VC中MSFlexGrid内嵌EDIT、COMB..[05-21]
Com Introduction[05-21]
《COM技术内幕》FAQ[05-21]
关于COM中的复合文档[05-21]
Microsoft Windows CE 3.0中的CO..[05-21]
如何在VC6或者VC7下用 ATL做一个..[05-21]
COM指南 (Step by Step COM Tuto..[05-21]
COM指南 (Step by Step COM Tuto..[05-21]
COM指南 (Step by Step COM Tuto..[05-21]
COM指南 (Step by Step COM Tuto..[05-21]
c++入门学习笔记继承[05-21]
在VC中MSFlexGrid内嵌EDIT、COMB..[05-21]
c++入门学习笔记指针篇[05-21]
C++好网站及其他网站收录[05-21]
VC程序员openssl轻松入门![05-21]
《决策智能系统》开发计划摘要[05-21]
MISRA--作为工业标准的C编程规范[05-21]
一个软件测试工程师的加班经历[05-21]
在vc++.net托管中使用线程的一个..[05-21]
PMT资源之Open Source多媒体软件[05-21]