Ho un server che riceve richieste di connessione dai client. Questo server utilizza il metodo asincrono Socket.BeginReceive
e Socket.EndReceive
. Il codice è molto simile al codice trovato here.C#: Come posso terminare un socket prima che le chiamate Socket.BeginReceive?
Nel mio caso, dopo aver chiamato Socket.BeginReceive
ho bisogno di un timeout tale che se il client si blocca sulla connessione ma non trasmette alcun dato per un periodo di tempo fisso, ho bisogno di terminare la connessione.
- Come posso terminare la connessione in questo scenario?
- Qual è il modo migliore di codificare un timer ?
Significa che il metodo di callback verrà eseguito anche dopo aver chiamato il metodo di chiusura del socket? – Lopper
Se è in sospeso BeginReceive(): sì. È sempre * necessario * essere associato a una chiamata EndReceive(). evitare la richiamata –
Grazie nobugz! :) – Lopper