⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 broadcast_b.c

📁 使用三块无线网卡在两个嵌入式板子
💻 C
字号:
/*
 * broadcast.c - An IP multicast server
 */
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <unistd.h>
#include <stdlib.h>
#define GRUPO "224.0.0.1"
int port = 6789;
int main ( void )
{
	int socket_descriptor;

	struct sockaddr_in address;
	/*  首先建立套接口 */
	socket_descriptor = socket ( AF_INET, SOCK_DGRAM, 0 );

	if ( socket_descriptor == -1 )
	{
		perror ( "Opening socket" );
		exit ( EXIT_FAILURE );
	}
	else
	{
		printf ( "socket_descriptor = %d \n",socket_descriptor );
	}

	/* 初始化IP多播地址 */
	memset ( &address, 0, sizeof ( address ) );

	address.sin_family = AF_INET;

	address.sin_addr.s_addr = inet_addr ( GRUPO );

	address.sin_port = htons ( port );

	/* 开始进行IP多播 */
	{
		int i=0;
		char buf[256];

		while ( 1 )
		{
			if(i==10000)i=0;else i++;
			sprintf ( buf,"test from broadcast index = %d \n",i );

			//if ( sendto ( socket_descriptor, "test from broadcast",sizeof ( "test from broadcast" ), 0, ( struct sockaddr * ) &address, sizeof ( address ) ) < 0 )
			if ( sendto ( socket_descriptor, buf,   strlen ( buf ), 0,     ( struct sockaddr * ) &address, sizeof ( address ) ) < 0 )
			{
				perror ( "sendto" );
				exit ( EXIT_FAILURE );
			}
			else
			{
				fprintf ( stdout, "send %s : %s", GRUPO, buf );
				memset ( buf,0,256 );
			}

			sleep ( 1 );
		}
	}

	exit ( EXIT_SUCCESS );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -