make net sockets reusable

This commit is contained in:
Ismael Gomez 2016-09-02 13:19:08 +02:00
parent 60312e145f
commit d37ae08719
2 changed files with 14 additions and 0 deletions

View File

@ -47,6 +47,12 @@ int srslte_netsink_init(srslte_netsink_t *q, char *address, int port, srslte_net
return -1;
}
int enable = 1;
if (setsockopt(q->sockfd, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(int)) < 0)
perror("setsockopt(SO_REUSEADDR) failed");
if (setsockopt(q->sockfd, SOL_SOCKET, SO_REUSEPORT, &enable, sizeof(int)) < 0)
perror("setsockopt(SO_REUSEPORT) failed");
q->servaddr.sin_family = AF_INET;
q->servaddr.sin_addr.s_addr=inet_addr(address);
q->servaddr.sin_port=htons(port);

View File

@ -45,6 +45,14 @@ int srslte_netsource_init(srslte_netsource_t *q, char *address, int port, srslte
perror("socket");
return -1;
}
// Make sockets reusable
int enable = 1;
if (setsockopt(q->sockfd, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(int)) < 0)
perror("setsockopt(SO_REUSEADDR) failed");
if (setsockopt(q->sockfd, SOL_SOCKET, SO_REUSEPORT, &enable, sizeof(int)) < 0)
perror("setsockopt(SO_REUSEPORT) failed");
q->type = type;
q->servaddr.sin_family = AF_INET;