Gwupe.Communication.P2P.RUDP.Connector.API.TcpTransportConnection.TransportSocketReader C# (CSharp) 메소드

TransportSocketReader() 개인적인 메소드

private TransportSocketReader ( ) : void
리턴 void
        private void TransportSocketReader()
        {
            try
            {
                while (!_socket.Closed && !_socket.Closing)
                {
                    byte[] tmpRead = new byte[8192];
                    int read;
                    try
                    {
                        read = _socket.Read(tmpRead, tmpRead.Length);
                    }
                    catch (ObjectDisposedException e)
                    {
                        break;
                    }
                    if (read > 0)
                    {
            #if(DEBUG)
                        Logger.Debug("Read " + read + " bytes from transport socket, writing to upstream handler");
            #endif
                        try
                        {
                            if (!ProcessTransportSocketRead(tmpRead, read))
                            {
                                Logger.Debug("Upstream handler failed to process the transport socket read data.");
                                break;
                            }
                        }
                        catch (Exception e)
                        {
                            Logger.Error("Writing to upstream handler failed, shutting down TcpConnection : " + e.Message, e);
                            break;
                        }
                    }
                }
                Logger.Info("Connection has been closed");
            }
            catch (Exception ex)
            {
                Logger.Error("Connection has failed : " + ex.Message);
            }
            finally
            {
                try
                {
                    this.Close();
                }
                catch (Exception e)
                {
                    Logger.Error("Error while closing ProxyConnection : " + e.Message, e);
                }
            }
        }