/****************************************************
* 功能: linux arm-linux UPD多播 *
* 时间: 2006-03-07 *
* 撰写: 李亚楠 *
*****************************************************/
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <sys/stat.h>
#include <netinet/in.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
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);
}
memset(&address, 0, sizeof(struct sockaddr_in));
address.sin_family = AF_INET;
address.sin_addr.s_addr = inet_addr("233.0.0.1");
address.sin_port = htons(port);
while(1)
{
if(sendto(socket_descriptor, "test from broadcast", sizeof("test from broadcast"), 0, (struct sockaddr *)&address, sizeof(address)) < 0)
{
printf("sendto/n");
exit(EXIT_FAILURE);
}
sleep(2);
}
exit(EXIT_SUCCESS);
}