Introducción
Si habéis trabajado con sockets y puertos, es posible que os haya pasado que se queda el socket abierto y no podéis volver a ejecutar vuestra aplicación por error a crear un socket que ya se ha abierto previamente.
Para corregir este problema se puede o hacer el socket como re-usable por código (C) en vuestra aplicación o mediante línea de comandos.
Por código
int so_reuseaddr = TRUE; if( setsockopt( sockfd, SOL_SOCKET, SO_REUSEADDR, &so_reuseaddr, sizeof(so_reuseaddr) ) < 0 ){ // error return -1; }
Donde el sockfd es el socket creado previamente.
Por línea de comandos
fuser -k -n <protocol> <port>
Por ejemplo:
fuser -k -n udp 7777
No hay comentarios:
Publicar un comentario