telnetexploreritem.java
来自「一个agent 工具包,可以开发移动设备应用,考虑了安全措施」· Java 代码 · 共 115 行
JAVA
115 行
package SOMA.telnet;
import java.util.*;
import java.io.*;
import java.awt.*;
import SOMA.explorer.*;
import SOMA.network.connection.*;
import SOMA.output.*;
/** Voce di menu per la creazione di una finestra di amministrazione da remoto.
*
* @author Livio Profiri
*/
public class TelnetExplorerItem extends ExplorerItem
{
public TelnetExplorerItem()
{
super( "<host> <port>" );
}
/** Metodo di esecuzione del comando: apre la finestra.
*/
public Object Execute( Collection Parameters, PrintStream out )
{
if( Parameters.size() == 2 )
{
Iterator i = Parameters.iterator();
String host = (String)i.next();
String Param = (String)i.next();
int port = 0;
try
{
port = Integer.parseInt( Param );
}
catch( Exception e )
{
out.println( "ERROR: incorrect port number" + Param );
return null;
}
try
{
final OutputFrame window = new OutputFrame( "Telnet: " + host + " " + port );
window.ListOut.Target.setBackground(new Color(12632256));
final Connection conn = new Connection( new java.net.Socket( host, port ), null );
window.OnExitCommand = new OutputFrame.Listener() //Stabilisco il comportamento all'uscita
{
public void run()
{
window.out.println( " Exiting!" );
window.setVisible( false );
window.dispose();
try
{
conn.stop();
}
catch( Exception e )
{}
}
};
//conn.start();
// Quickcommand in modo da bloccare la ricezione di altri comandi
// spediti erroneamente.
conn.send( new QuickCommand()
{
public void run()
{
// L'input viene dalla socket.
Thread thread = new ExplorerThread( env.dir, ReturnConnection.getIn(),
env.out, true );
thread.start();
// L'output va anche alla socket.
env.multiOut.add( ReturnConnection.getOut() );
env.out.println();
env.out.println( "Connection " + ReturnConnection + " used for telnet!!!" );
env.out.println();
try
{
thread.join(); // Blocco il tread in attesa di oggetti sulla socket.
}
catch( InterruptedException e )
{
e.printStackTrace( env.out );
}
}
});
new Pipetta( window.in, conn.getOut() ).start();
new Pipetta( conn.getIn(), window.out ).start();
window.show();
window.toFront();
out.println( "Amministrazione avviata!" );
}
catch( Exception e )
{
e.printStackTrace( out );
}
}
return null;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?