/* The Very Easy Udp Listener vor HIPradio. Koos van den Hout, Remco van Mook, Juli 1997 compiling : Linux gcc -o -O2 hipclient hipclient.c Solaris gcc -o -O2 hipclient hipclient.c -linet Others Unknown as of yet */ #include #include #include #include #include #include int main(int argc, char **argv){ struct sockaddr_in recaddr; struct sockaddr_in frmaddr; struct in_addr checkaddr; int frmlen; unsigned char udpbuf[1500]; int udpsocket; int length; udpsocket=socket(AF_INET,SOCK_DGRAM,getprotobyname("udp")->p_proto); recaddr.sin_family=AF_INET; recaddr.sin_port=htons(8997); recaddr.sin_addr.s_addr = INADDR_ANY; if (bind(udpsocket,(struct sockaddr *)&recaddr,sizeof(recaddr))<0){ perror("bind"); } frmlen=sizeof(frmaddr); length=recvfrom(udpsocket,udpbuf,1500,0,(struct sockaddr *)&frmaddr,&frmlen); fprintf(stderr,"====== HIPnet radio : source address %s ======\n",inet_ntoa(frmaddr.sin_addr)); checkaddr=frmaddr.sin_addr; write(1,udpbuf,length); while (1){ length=recvfrom(udpsocket,udpbuf,1500,0,(struct sockaddr *)&frmaddr,&frmlen); if (memcmp(&checkaddr,&frmaddr.sin_addr,sizeof(struct in_addr))==0) write(1,udpbuf,length); } return 0; }