Особенных ресурсов нет - это обычный UDP-клиент, посылающий широковещательные сообщения Ниже простой примерчик:
Код | #include <stdio.h> #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <arpa/inet.h> #include <string.h>
int main(int argc, char **argv) { int value = 1; int fd; short int port; struct sockaddr_in broadcast; if(argc < 3) { printf("usage: %s port message", argv[0]); exit(-1); } port = atoi(argv[1]); memset(&(broadcast), 0, sizeof(broadcast)); broadcast.sin_family = PF_INET; broadcast.sin_port = htons(port); broadcast.sin_addr.s_addr = htonl(INADDR_BROADCAST);
if((fd = socket(PF_INET, SOCK_DGRAM, 0)) == -1) { perror("socket"); exit(-1); }
if(setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &value, sizeof(value))) { perror("setsockopt"); exit(-1); }
if(sendto(fd, argv[2], strlen(argv[2]), 0, &broadcast, sizeof(broadcast))== -1) { perror("sendto"); exit(-1); } printf("done.\n"); close(fd); return 0; }
|
|