简易的telnet操作java.txt

来自「简易的telnet操作java.rar」· 文本 代码 · 共 129 行

TXT
129
字号
/* @author javar*/
import java.net.*;
import java.io.*;
public class JTelnet
{   
    Socket sock; 
    public JTelnet(String h, int p)
    {   
        try 
        {       
            sock = new Socket(h, p);        
            new InputPipe(sock.getOutputStream()).start();      
            new OutputPipe(sock).start();   
        }   
        catch(IOException e)    
        {       
            System.out.println(e);      
            return; 
        }
    }
    public class InputPipe extends Thread
    {   
        DataInputStream is; 
        PrintStream     os;
        public InputPipe(OutputStream os)
        {   
            this.is = new DataInputStream(System.in);   
            this.os = new PrintStream(os);
        }
        public void run() 
        {   
            String line;    
            try     
            {       
                while(true)         
                {           
                    line = is.readLine();           
                    os.print(line);         
                    os.print("\r\n");           
                    os.flush();     
                }   
            }   
            catch(IOException e)    
            {       
                throw new RuntimeException(e.getMessage()); 
            }
        }
    }
    public class OutputPipe extends Thread 
    {   
        InputStream     in; 
        OutputStream    ot; 
        PrintStream     os;
        public OutputPipe(Socket sock)
        {   
            try 
            {       
                this.ot = sock.getOutputStream();       
                this.in = sock.getInputStream();        
                this.os = new PrintStream(System.out);  
            }   
            catch(IOException e)    
            {       
                System.out.println(e);  
            }
        }
        public void run()
        {
            String line;    
            int    i;   
            try 
            {       
                while(true)         
                {           
                    i = in.read();              
                    if (i == 255)           
                    {               
                        int i1 = in.read();                 
                        int i2 = in.read();             
                        tel_net(i1,i2);             
                    }           
                    else            
                    {               
                        os.print((char)i);              
                        os.flush();         
                    }       
                }   
            }   
            catch(IOException e)    
            {       
                throw new RuntimeException(e.getMessage()); 
            }
        }
        private void tel_net(int i1, int i2)
        {   
            int i = i1; 
            if (i == 253)   
            {       
                i = i2;          
                if (i == 1)  wont(i);       
                else if (i == 24) wont(i);      
                else if (i == 31) wont(i);      
                else if (i == 35) wont(i);      
                else if (i == 36) wont(i);      
                else if (i == 39) wont(i);  
            }
        }
        private void wont(int i)
        {   
            try     
            {       
                ot.write(255);      
                ot.write(252);      
                ot.write(i);    
            }   
            catch (IOException e)   
            {       
                System.out.println(e);  
            }
        }
    } 
    public static void main(String args[]) 
    {   
        String host = "bbs.jlu.edu.cn"; 
        int    port = 23;   
        new JTelnet(host, port);
    }
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?