#include <sys/socket.h>
#include <netdb.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <signal.h>
#include <memory.h>
int main(int argc,char * argv[])
{
if(argc < 3)
{
printf("usage: %s ip port
",argv[0]);
exit(1);
}
/* 创建socket*/
int sockfd = socket(AF_INET,SOCK_DGRAM,0);
if(sockfd < 0)
{
perror("socket error");
exit(1);
}
int opt = 1;
//采用广播方式发送
setsockopt(sockfd,SOL_SOCKET,SO_BRORDCAST,&opt,sizeof(opt));
struct sockaddr_in serveraddr;
memset(&serveradd,0,sizeof(serveraddr));
serveraddr.sin_family = AF_INET;
serveraddr.sin_port = htons(atoi(argv[2]));
inet_pton(AF_INET,argv[1],&serveraddr.sin_addr.s_addr);
printf("I will broadcast...
");
char *info ="hello lvdh1314";
size_t size = strlen(info) *sizeof(char);
if(sendto(socket,info,size,0,(struct sockaddr*)&serveraddr,
sizeof(serveraddr)) < 0)
{
perror("sendto error");
exit(1);
}
else
{
printf("broadcast success
");
}
close(sockfd);
return 0;
}