[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