📄 broadcast_b.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 + -