Newsgroup: it.comp.programmare.win32
Titolo: Socket "fantasma"

Dato che nella it.comp.os.win.nt pare che ci sia l'encefalogramma
piatto, provo a chiederlo anche qui (tutto sommato ha una certa
attinenza con la programmazione). Da quando tengo acceso il PC per
giorni, mi capita una cosa molto seccante con NT: a lungo andare mi
restano dei "socket fantasma", bindati all'indirizzo 0.0.0.0 e
apparentemente inermi. Non fanno capo a niente, non accettano
connessioni, praticamente non esistono; pero` occupano quella porta, con
la conseguenza che essa diventa inutilizzabile per i socket "futuri".
Piccolo esempio dell'output di netstat:
Active Connections
  Proto  Local Address          Foreign Address        State
  TCP    
0.0.0.0:135
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:135
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:1027
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:1031
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:1968
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:1971
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:1973
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:1975
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:1977
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:1979
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:1981
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:1983
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:1985
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:1987
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:1989
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:2319
 
0.0.0.0:0
              LISTENING
[ecc... ecc...]
Non conosco nemmeno la causa di questo problema, suppongo che sia
perche` ho un programmino che mi stacca la connessione a Internet a un
certo orario mentre magari ci sono ancora applicazioni che hanno aperti
dei socket. Ovviamente chiuderle in un secondo tempo non serve a nulla;
non so nemmeno quale processo "detenga" i socket - e` anche per quello
che cercavo un programma in grado di dirmelo.
Qualcuno conosce questo problema, sa come risolverlo alla radice o
perlomeno come rimediravi? Ovviamente senza riavviare il PC. :)
---
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/

Lorenzo Lutti ha scritto nel messaggio ...
[porte occupate]
Non sara' molto IT, ma in it.comp.sicurezza.windows ci sono dei veri maestri
del netstat. :-)
Non sto scherzando, io proverei li'.
Saluti,
    Mardy

 Non sto scherzando, io proverei li'.
E` vero, non ci avevo pensato! Grazie per l'imbeccata. :)


pero` occupano quella porta
Uccupano quella porta su un indirizzo IP che non puoi usare.
Al massimo tu puoi metterti in listen sul localhost o sugli indirizzi
IP del tuo PC, e non su 0.0.0.0.
-- 
Tieni per te il Papero se vuoi la mia email
Sito Papero -> 
http://utenti.tripod.it/papero

 usare.
0.0.0.0 sta per "questo socket e` bindato per accettare connessioni da
qualsiasi interfaccia di rete". Ad esempio se io ho uno di questi socket
fantasma che ascolta su 
0.0.0.0:80
 (cosa che mi e` successa) non ho piu`
nessun modo di far partire il web server su quella porta, il che e`
molto fastidioso.


qualsiasi interfaccia di rete".
Si, hai ragione. Qualcosa del genere mi era capitato usando quel cesso
di controllo Socket del VB. Se non fai le cose per bene NT rilascia le
risorse dopo un poco. Di fatto io mi trovavo ad aspettare per un tempo
indeterminato di qualche minuto prima di potere riavere accesso ad una
porta su un certo indirizzo. Cio' non e' cosa buona o giusta.
Fastidioso, ma credo che per risolverlo ci vorrebbe un NT che non
ottimizza quando non deve ottimizzare.
