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

📄 broadcast.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;
	printf ( "1" );

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

	if ( socket_descriptor == -1 )
	{
		perror ( "Opening socket" );
		exit ( EXIT_FAILURE );
	}     /* 初始化IP多播地址 */

	printf ( "1" );

	memset ( &address, 0, sizeof ( address ) );

	printf ( "1" );

	address.sin_family = AF_INET;

	address.sin_addr.s_addr = inet_addr ( GRUPO );

	address.sin_port = htons ( port );     /* 开始进行IP多播 */

	printf ( "1" );

	{
		int i=0;
		char buf[256];

		while ( 1 )
		{
			//fprintf ( buf,"test from broadcast : index = %d \n",i++ );
			printf ( "1" );
			//sprintf ( buf,"test from broadcast : index = %d \n",i++ );
			sprintf ( buf,"test from broadcast : index = \n" );
			printf ( "2" );

			if ( i%10000==0 )
				i=0;

			printf ( "3" );

			if ( sendto ( socket_descriptor, buf,   strlen ( buf ), 0,     ( struct sockaddr * ) &address, sizeof ( address ) ) < 0 )
			{
				printf ( "41" );
				perror ( "sendto" );
				exit ( EXIT_FAILURE );
			}
			else
			{
				printf ( "42" );
				fprintf ( stdout, "buf send %s : %s", address.sin_addr.s_addr, buf );
				//fprintf ( stdout, "buf send  : %s",buf );
			}

			printf ( "5" );

			memset ( buf,0,256 );
			printf ( "6" );
			sleep ( 1 );
		}
	}

#if 0
	{
		int i=0;
		char buf[256];
		fprintf ( buf,"hello world : times = " );	//while (fgets(buf, MAXBUF, stdin))

		while ( 1 )
		{
			fprintf ( buf,"%d",i++ );

			if ( i%10000==0 )
				i=0;

			if ( sendto ( socket_descriptor, buf,strlen ( buf ), 0, ( struct sockaddr * ) &address, sizeof ( address ) ) < 0 )
			{
				perror ( "recvfrom" );
			}
			else
			{
				fprintf ( stdout, "Enviado a %s: %s", GRUPO, buf );
			}
		}
	}

#endif
	exit ( EXIT_SUCCESS );
}

⌨️ 快捷键说明

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