Problema Socket Timeout

martedì 09 giugno 2009 - 18.12

wave00 Profilo | Junior Member

Salve a tutti, sto realizzando una piccola console che funziona tramite browser, il problema è che non funziona bene la proprietà socket.Available perchè indica sempre 0. Però se metto un breakpoint nel punto in cui faccio il controllo di socket.Available il valore che ottengo è sempre maggiore di 0. E' come se lanciando l'applicazione normalmente i dati arrivassero dopo il controllo. Vi faccio vedere il codice che è meglio.
Creazione del socket:
Costruttore della classe
public TelnetSession(string address, int port) { this._address = address; this._port = port; _socket = CreateSocket(address, port); _networkStream = new NetworkStream(_socket); }
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
Metodo Read(), legge la risposta dal server
public string Read() { byte[] Buff; string ret=""; int c = 0; if (_networkStream.CanRead) { while(_socket.Available > 0) { Buff = new byte[1024]; c = _networkStream.Read(Buff, 0, Buff.Length); ret += Encoding.ASCII.GetString(Buff, 0, c); } return ret; } else { return "IMPOSSIBILE LEGGERE"; } }

Qualche suggerimento?Ho provato a settare il TimeOut in lettura e scrittura, sia sul socket che sul Networkstream ma non è cambiato nulla.
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5