Im working od UDP app and I'm not sure if I'm doing this right. I need to get address into addr.sin_addr.s_addr. Until now I just used addr.sin_addr.s_addr = htonl(INADDR_ANY) but I will need to set specific address goten from user. Am I doing it right when I use addr.sin_addr.s_addr = htonl(adresa)?
Full code:
int main(int argv, char **argc) { strcpy(adresa, "someadress"); int optval; struct sockaddr_in addr;//, incoming_addr; /* create socket */ sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); if (sock < 0) { err("socket()"); } /* set reusable flag */ optval = 1; setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval)); /* prepare inet address */ memset(&addr, 0, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_port = htons(port); if(strcmp(adresa, "-") == 0) { addr.sin_addr.s_addr = htonl(INADDR_ANY); /* listen on all interfaces */ } else { addr.sin_addr.s_addr = htonl(adresa); /* listen on all interfaces */ } if (bind(sock, (struct sockaddr*)&addr, sizeof(addr)) < 0) { err("bind"); } for(;;) { } return 0; }