<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Cyh的博客

    Email:kissyan4916@163.com
    posts - 26, comments - 19, trackbacks - 0, articles - 220

    網絡編程>>Telnet客戶端

    Posted on 2009-12-17 22:27 啥都寫點 閱讀(909) 評論(0)  編輯  收藏 所屬分類: J2SE
      實現Telnet客戶端的關鍵技術如下:

      訪問系統的Telnet服務實質上是與Telnet服務建立Socket連接,默認的Telnet服務的端口是23
      Telnet客戶端將標準輸入流中的命令發送給Telnet服務,將響應消息顯示在標準輸出流中。因此,Telnet客戶端相當于一個代理服務,起中轉作用,將標準輸入流、Telnet服務和標準輸出流連接起來。


    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.PrintStream;
    import java.net.Socket;

    /**
     * Telnet客戶端,可以登陸到Telnet服務器。
     
    */

    public class TelnetClient {

        
    // 默認的Telnet服務器名
        public static final String DEFAULT_HOST = "127.0.0.1";
        
    // 默認的Telnet服務器端口
        public static final int DEFAULT_PORT = 23;
        
        
    // 主機名(或者IP)和端口號
        private String host;
        
    private int port;

        
    // 連接主機的socket
        Socket socket = null;
        
    // 發送數據和接收數據的管道,Pipe為自定義類
        Pipe sendPipe = null;
        Pipe receivePipe 
    = null;
        
        
    // 默認構造方法
        public TelnetClient(){
            
    this.host = DEFAULT_HOST;
            
    this.port = DEFAULT_PORT;
        }

        
    public TelnetClient(String host, int port){
            
    this.host = host;
            
    this.port = port;
        }


        
    /**
         * 登陸到服務器
         
    */

        
    public void telnet() {
            System.out.println(
    "Connecting to telnet server " + host + "" + port);
            
    try {
                socket 
    = new Socket(host, port);

                
    // 將socket的輸入端數據(來自服務器端)流向本地標準輸出,即接收數據
                receivePipe = new Pipe(socket.getInputStream(), System.out);
                receivePipe.start();
                
    // 將本地的標準輸入數據流向socket的輸出端,即流向服務器端,發送數據
                sendPipe = new Pipe(System.in, socket.getOutputStream());
                sendPipe.start();
            }
     catch(IOException e) {
                System.out.println(
    "連接失敗:" + e);
                
    return;
            }

            System.out.println(
    "連接成功");
        }

        
    /**
         * 斷開連接
         
    */

        
    public void disconnect() {
            
    if (socket != null){
                
    try {
                    socket.close();
                    System.out.println(
    "成功斷開連接");
                }
     catch (IOException e) {
                    e.printStackTrace();
                }

            }

        }

        
        
    public static void main(String[] argv) {
            
    new TelnetClient().telnet();
        }

    }


    /**
     * 管道類,將輸入流的數據寫入到輸出流中。
     * 是一個線程,可以獨立運行
     
    */

    class Pipe extends Thread {

        
    // 管道的輸入流和輸出流
        BufferedReader is;
        PrintStream os;

        
    /**
         * 構造方法,構造輸入輸出流
         * 
    @param is
         * 
    @param os
         
    */

        Pipe(InputStream is, OutputStream os) 
    {
            
    this.is = new BufferedReader(new InputStreamReader(is));
            
    this.os = new PrintStream(os);
        }

        
        
    /**
         * 線程體方法,將輸入流的數據寫入到輸出流
         
    */

        
    public void run() {

            String line;
            
    try {
                
    // 讀取輸入流的數據
                while ((line = is.readLine()) != null{
                    
    // 寫到輸出流中
                    os.print(line);
                    os.print(
    "\r\n");
                    os.flush();
                }

            }
     catch(IOException e){
            }

        }

    }




                                                                                                           --    學海無涯
            

    主站蜘蛛池模板: 亚洲三级高清免费| 亚洲欧洲另类春色校园小说| 亚洲国产精品久久久久秋霞小| 免费在线看v网址| 亚洲国产夜色在线观看| 亚洲一级毛片免费看| 亚洲国产综合精品| 免费99精品国产自在现线| 激情综合亚洲色婷婷五月APP| 国产电影午夜成年免费视频| 亚洲无成人网77777| 成年人视频免费在线观看| 亚洲欧美日韩中文无线码| 日韩一区二区三区免费体验| 理论秋霞在线看免费| 国产成人毛片亚洲精品| 中文字幕无码一区二区免费| 亚洲小视频在线观看| 久久经典免费视频| 亚洲av成人一区二区三区观看在线 | 亚洲成AV人在线观看天堂无码| 中文字幕手机在线免费看电影| 亚洲国产成人一区二区三区| 30岁的女人韩剧免费观看| 亚洲色大成WWW亚洲女子| 免费国产成人午夜私人影视| 中文毛片无遮挡高清免费| 亚洲精品自产拍在线观看动漫| 国产1024精品视频专区免费| 国产精品亚洲精品日韩动图| 国产亚洲精品无码拍拍拍色欲| 黄色网址在线免费| 亚洲中文字幕久久精品无码A | 亚洲无码日韩精品第一页| 日韩精品免费视频| 亚洲国产成人久久一区二区三区| 中文字幕亚洲天堂| 毛片在线免费视频| 中文字幕免费在线看线人动作大片 | 免费看h片的网站| 成人免费网站视频www|