基于IPv6的多播通信

Client:

//客户端

#include 
#include 
#include 
#include 
//#include "tpipv6.h"
#include 

#pragma comment(lib,"ws2_32.lib")

using namespace std;

#define HELLO_PORT  7905  //定义端口    
#define HELLO_GROUP "FF02::99"//"224.0.0.99"//"228.4.5.6"   //定义多播目标地址224.0.1.0 - 238.255.255.255
#define BUFFER_SIZE 1024



//客户端需要加入多播组,并实时收取数据包

int main()
{
	cout<<"This is Client who join to Some Multicast Group and Receive Data from Multicast Source!"<ai_family, res->ai_socktype, res->ai_protocol); 


	/************设置多播相关的选项**************/
	int ret ;
	const int on = 1; //允许程序的多个实例运行在同一台机器上
	ret = setsockopt(sockClt, SOL_SOCKET, SO_REUSEADDR, (char *)&on, sizeof(on));
	if( ret == SOCKET_ERROR )
	{
		WSACleanup();

		cout<<"Error in setsockopt(SO_REUSEADDR): "<ai_addr, res->ai_addrlen);// 绑定端口 
	//cout<ai_addr),wht,80)<

Server:

//服务端

#include 
#include 
#include 
//#include "tpipv6.h"
#include 

#pragma comment(lib,"ws2_32.lib")

using namespace std;


#define HELLO_PORT  7905  //定义端口    
#define HELLO_GROUP "FF02::99"//定义链路范围上的用户多播地址
#define BUFFER_SIZE 1024

int main()
{
	cout<<"Ipv6: This is Server for sending data to Multicast Address!"<ai_family, res->ai_socktype, res->ai_protocol); 

	//char wht[80];
	//cout<ai_addr->sa_data[15]<ai_addr),wht,80)<ai_addr,res->ai_addrlen);
	}

	return 0;
}



你可能感兴趣的:(C/C++)