Broadcast client

 avatar
unknown
c_cpp
2 years ago
838 B
3
Indexable
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>

#define err(x,val) if(x<0){printf("%s error!\n",val);exit(0);}

int main(int argc,char* argv[]){
    int sock=socket(AF_INET,SOCK_DGRAM,0);
    struct sockaddr_in serv;
    int val = 1;
    int reuse=1;
    struct sockaddr_in cinfo;
    char buf[100];

    err(setsockopt(sock,SOL_SOCKET,SO_BROADCAST,&val,sizeof(val)),"socket set");
    err(setsockopt(sock,SOL_SOCKET,SO_REUSEADDR,&reuse,sizeof(reuse)),"socket set");
    cinfo.sin_family = AF_INET;
    cinfo.sin_port = htons(20000);
    cinfo.sin_addr.s_addr = INADDR_ANY;

    err(bind(sock,(struct sockaddr*)&cinfo,sizeof(cinfo)),"bind");


    recvfrom(sock,buf,sizeof(buf),0,NULL,NULL);
    printf("Received: %s\n",buf);

    return 0;
}
Editor is loading...