<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| 成全视频在线观看免费| 亚洲国产人成网站在线电影动漫| 亚洲乱码卡三乱码新区| 最新猫咪www免费人成| 亚洲youwu永久无码精品| 日韩亚洲精品福利| 国产VA免费精品高清在线| 亚洲狠狠婷婷综合久久久久| 香蕉成人免费看片视频app下载| 日韩精品电影一区亚洲| 大妹子影视剧在线观看全集免费| 四虎国产精品免费久久| 亚洲一卡2卡三卡4卡无卡下载 | ZZIJZZIJ亚洲日本少妇JIZJIZ| 亚洲成a人片在线观看中文app| 免费无码又爽又黄又刺激网站| 一区二区免费视频| 亚洲在成人网在线看| 日韩在线a视频免费播放| jizz免费一区二区三区| 久久九九亚洲精品| 最近最新MV在线观看免费高清| 亚洲日本中文字幕| 成人免费无码大片a毛片软件| 久久精品国产亚洲av麻豆小说| 亚洲免费无码在线| 亚洲白嫩在线观看| 亚洲人妻av伦理| 一区二区免费视频| 免费精品国产自产拍在线观看|