Я действительно новичок в программировании на C#, и я разрабатываю приложение на основе TcpClient.NetworkStream BeginRead/EndRead
Я хотел бы знать, как использовать BeginRead & EndRead, я уже прочитал документацию MSN, но не помогает.
Я это:
private void Send() { TcpClient _client = new TcpClient("host", 80); NetworkStream ns = _client.GetStream(); ns.Flush(); /... ns.Write(buffer, 0, buffer.Length); int BUFFER_SIZE = 1024; byte[] received = new byte[BUFFER_SIZE]; ns.BeginRead(received, 0, 0, new AsyncCallback(OnBeginRead), ns); } private void OnBeginRead(IAsyncResult ar) { NetworkStream ns = (NetworkStream)ar.AsyncState; int BUFFER_SIZE = 1024; byte[] received = new byte[BUFFER_SIZE]; string result = String.Empty; ns.EndRead(ar); int read; while (ns.DataAvailable) { read = ns.Read(received, 0, BUFFER_SIZE); result += Encoding.ASCII.GetString(received); received = new byte[BUFFER_SIZE]; } result = result.Trim(new char[] { '\0' }); // Want to update Form here with result }
Как я могу обновить компонент формы, используя результат?
Спасибо за помощь.
Это Winforms? – CodingGorilla 2010-12-09 15:41:44
Да, это WinForms. – 2010-12-09 15:54:06