[RoLUG] timeout dei socket in c
   
    Master^Shadow
     
    rolug@lists.linux.it
       
    Sat, 12 Apr 2003 17:55:09 +0200
    
    
  
Ciao,
ho un piccolo problemino sulla gestione dei socket in c.
devo leggere un banner da un servizio su porta X ma ci mette una vita
credo sia un problema di timeout o simile ma caspita :-)
if (connect(s,(struct sockaddr *)&sin,sizeof(struct sockaddr)) !=3D -1)
{	    	FILE *f;
	    	f =3D fdopen(s, "r");
	    	setbuf(f, NULL);
		while (!feof(f) && fgets(buffer2, sizeof(buffer2), f) !=3D NULL)
			printf(buffer2);
		fclose(f);
}
praticamente legge e poi si blocca per un minuto, due...
non c'=E8 un modo per risolvere questo problema?
$ time dast2 localhost 22 23
Scanning host=3Dlocalhost ports 22-23
waiting...
Port: 22 (ssh) (tcp)
Banner: SSH-1.99-OpenSSH_3.5p1
Done
Scanning Terminated
real    1m59.999s <- quando si dice la puntualit=E0 :-)
user    0m0.000s
sys     0m0.010s
=2D-=20
Master^Shadow | Hx