public virtual void Run() { thread = this; try { while (thread != null) { Socket socket = ss.Accept(); socket.NoDelay = true; InputStream @in = socket.GetInputStream(); OutputStream @out = socket.GetOutputStream(); ChannelDirectTCPIP channel = new ChannelDirectTCPIP(); channel.Init(); channel.SetInputStream(@in); channel.SetOutputStream(@out); session.AddChannel(channel); ((ChannelDirectTCPIP)channel).SetHost(host); ((ChannelDirectTCPIP)channel).SetPort(rport); ((ChannelDirectTCPIP)channel).SetOrgIPAddress(socket.GetInetAddress().GetHostAddress ()); ((ChannelDirectTCPIP)channel).SetOrgPort(socket.GetPort()); channel.Connect(); if (channel.exitstatus != -1) { } } } catch (Exception) { } //System.err.println("! "+e); Delete(); }