Ejemplo n.º 1
0
        private void ReadCallback(IAsyncResult result)
        {
            Log("TRACE--> Read callback");
            NetworkStream networkStream = null;

            try {
                networkStream = Client.GetStream();
            } catch (ObjectDisposedException) {
                ProcessDisconnect();
                return;
            }
            int read;

            try {
                read = networkStream.EndRead(result);
            } catch (System.IO.IOException) {
                ProcessDisconnect();
                return;
            }
            if (read == 0)
            {
                Client.Close();
            }
            Log("TRACE--> Protocol handoff");
            Protocol.ProcessData(buffer, read, 0);
            try {
                networkStream.BeginRead(buffer, 0, buffer.Length, ReadCallback, Client);
            } catch (ObjectDisposedException) {
                ProcessDisconnect();
                return;
            }
        }