Buenas.... tengo el siguiente problema...
toy programando en C sobre linux. tengo un proceso que genera un
socket servridor, a este le asigno puerto=0 para que me de el primer puerto libre que tiene la maquina.. luego si yo hago un netstat -natp me pone el puerto que esta usando el proceso , pero yo quisera en el codigo de mi programa poder saber cual es el puerto que tiene...
alguien me puede ayudar, se lo agradeceria.
yo hago asi
bzero(&sin,sizeof(sin));
sin.sin_family=AF_INET;
sin.sin_addr.s_addr=INADDR_ANY;
sin.sin_port=htons(iPort); // iPort=0 para que de el 1ero libre.
bind(iSocket,(struct sockaddr *)&sin,sizeof(sin);
listen(iSocket,10);
printf("MY PUERTO AUTOMATICO |%d|\n", ntohs(sin.sin_port) );
/// siempre me imprime 0
les agradeceria muchicimo..
Gumiesh.-