Chiusura di un socket

lunedì 12 giugno 2006 - 18.08

blood Profilo | Senior Member

Salve a tutti, dunque ho la necessità di usare un socket per una connessione tra client / server.
Al mio programma server naturalmente avrò un socket.bind(LocalEndPoint) ed un socket.Listen()
E fino a qui tutto ok, il mio problema è che finita la connessione quando faccio socket.shutdown(SocketShutdown.Both) e socket.close()
se controllo mediante un "nestat -a" da prompt mi rimane ancora la porta aperta, quindi non mi chiude effettivamente il socket ergo se vado a ribindarlo mi da errore che si può solamente usare una porta per un'indirizzo IP (giustamente).
Da come dice la guida in linea alla chiamata della socket.close dovrebbe essere rilasciata ogni risorsa e chiusa la connessione, ma a quanto pare non avviene così...stavo entrando nell'ottica di studiarmi i thread e utilizzarli per il mio scopo.
Qualcuno ha qualche consiglio? Ringrazio anticipatamente..
---------------
Piscopo Paolo

:: wD @ IRCnet :: .NET wannabe 8-)

filippo.monti Profilo | Junior Member

Hai provato con l'istruzione:
socket = Nothing ?
CIao
Filippo

blood Profilo | Senior Member

sì certo non cambia un fico secco
---------------
Piscopo Paolo

:: wD @ IRCnet :: .NET wannabe 8-)

filippo.monti Profilo | Junior Member

Mi viene in mente che il rilascio di tutte le risorse è demandato al Garbage Collector di .NET che ci mette un "pochino" a rilasciarle.
Dovresti provare a richiamarlo esplicitamente se vuoi un rilascio immediato.
Ciao
Filippo

zanca Profilo | Newbie

Guarda ho anch'io la stessa problematica, che mi crea non pochi fastidi tra cui una socket exception quando rifaccio una seconda connessione al server.
Non ne sono venuto a capo forse è un bug della classe socket?
Girovagando nella rete in cerca di una soluzione ho trovato questo:
http://www.thinktecture.com/Resources/RemotingFAQ/RemotingUseCases.html
forse ti può essere utile.

Andrea

blood Profilo | Senior Member

>Guarda ho anch'io la stessa problematica, che mi crea non pochi
>fastidi tra cui una socket exception quando rifaccio una seconda
>connessione al server.
>Non ne sono venuto a capo forse è un bug della classe socket?
>Girovagando nella rete in cerca di una soluzione ho trovato questo:
>http://www.thinktecture.com/Resources/RemotingFAQ/RemotingUseCases.html
>forse ti può essere utile.
>
>Andrea
>
Ti ringrazio ma purtroppo non sono riuscito a trovarne qualcosa di utile...comunque sia secondo me la risposta ce l'ho da solo e te lo consiglio anche a te: studiati i thread e lancia un processo figlio per ogni socket in tal modo killerai il thread e metterai fine alle sofferenze di quel socket

---------------
Piscopo Paolo

:: wD @ IRCnet :: .NET wannabe 8-)
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5