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

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

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

    posts - 241,  comments - 116,  trackbacks - 0
    /*
    TCP通訊

    [示例]:傳送文本文件 (客戶端)
    */

    import java.net.*;
    import java.io.*;
    class Demo
    {
      public static void main(String[] args) throws Exception
      {
        new FileClient();
      }
    }

    class FileClient  //客戶端
    {
      FileClient() throws Exception
      {
        s.op("客戶端啟動....");
        client();
      }
     
      public void client()throws Exception
      {
        Socket sock = new Socket("192.168.1.3",10006);//指定服務器地址和接收端口
        
        //將c盤一個文本文件發送到服務器端
        BufferedReader bufr = new BufferedReader(new FileReader("c:\\abcd.java"));
        
        //定義socket輸出流,將數據發給服務端
        //BufferedWriter bufwOut=new BufferedWriter(new OutputStreamWriter(sock.getOutputStream()));
        //我們不用它了,用PrintWriter更方便,因為println方法自動換行和刷新緩沖區9
        PrintWriter priOut= new PrintWriter(sock.getOutputStream(),true);//將數據發送到socket輸出流
        
        String fileLine = null;
        while(true)
        {
          fileLine = bufr.readLine(); //讀文本文件
          if(fileLine!=null)
          {
            priOut.println(fileLine); //將一行文本寫入socket輸出流      
          }
          else
          {
            break;
          }    
        }
        //文件傳送完后,告訴服務端,"我發完了",也就是加一個結束標記
        //priOut.println("*#over886*#");  這種方式不好,服務端怎么知道結束標記是什么,不方便
        
        sock.shutdownOutput(); //結束TCP套接字,之前寫入的數據都將被發送,并且后跟TCP連接終止標記
        BufferedReader bufrIn=new BufferedReader(new InputStreamReader(sock.getInputStream()));    
        String inStr = bufrIn.readLine(); //服務端此時應該返回字符,比如"發送成功"
        s.op(inStr);   //顯示服務器返回的字符信息 "上傳成功."
        bufr.close();
        sock.close();
      }
    }

    class s  
    {
      public static void op(Object obj) //打印
      {
        System.out.println(obj);
      }
    }
    /*
    這里我們沒有考慮客戶端的文件名,和客戶端判斷是否有重名文件,我們指定了文件名和路徑

    [示例]:傳送文本文件 (服務端)
    */
    import java.net.*;
    import java.io.*;
    class Demo
    {
      public static void main(String[] args) throws Exception
      {
        new FileServer();
      }
    }

    class FileServer  //服務端
    {
      FileServer() throws Exception
      {
        s.op("服務端啟動......");
        server();
      }

      public void server() throws Exception
      {
        ServerSocket serversock = new ServerSocket(10006);
        Socket sock = serversock.accept();
        
        String ip = sock.getInetAddress().getHostAddress();
        s.op("來自客戶端IP "+ip+" 的文件");
        
        BufferedReader bufrIn = new BufferedReader(new InputStreamReader(sock.getInputStream()));
        PrintWriter priFileOut = new PrintWriter(new FileWriter("d:\\getFile.java"),true);
        String inStr = null;
        while(true)
        {
          inStr = bufrIn.readLine();
          if(inStr!=null)
          {
            s.op(inStr); //將客戶端的文本數據打印到控制臺看看,對于大文件,本行代碼可注釋掉
            priFileOut.println(inStr); //寫到文件中          
          }
          else
          {
            break;
          }
        }  
        //文件保存完給客戶端一個返回信息
        PrintWriter priOut = new PrintWriter(sock.getOutputStream(),true); //注意別丟了參數true
        priOut.println("上傳成功.");//如果沒有true參數,字符在緩沖區中不刷新的
        sock.close();
        priFileOut.close();
        serversock.close();
      }
    }

    class s
    {
      public static void op(Object obj) //打印
      {
        System.out.println(obj);
      }
    }
    posted on 2012-02-01 10:25 墻頭草 閱讀(2099) 評論(2)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    人人游戲網 軟件開發網 貨運專家
    主站蜘蛛池模板: 久久久综合亚洲色一区二区三区 | 亚洲妇女水蜜桃av网网站| 免费无码看av的网站| 午夜影院免费观看| jizz中国免费| 自拍偷自拍亚洲精品播放| 亚洲国产成人va在线观看网址| 亚洲真人无码永久在线| 真实乱视频国产免费观看| 1000部免费啪啪十八未年禁止观看| 国产免费久久精品丫丫| 久久亚洲AV成人无码国产电影| 亚洲一级毛片在线播放| 亚洲伊人久久大香线蕉苏妲己| 国产成人精品日本亚洲专区61| 日韩一级免费视频| 毛片a级毛片免费播放下载| 亚洲电影在线免费观看| 最好看最新的中文字幕免费| 可以免费观看的国产视频| 国产免费久久精品99久久| 无码免费又爽又高潮喷水的视频| 精品国产亚洲第一区二区三区| 亚洲欧洲AV无码专区| 亚洲乱码一区二区三区国产精品| 亚洲无线一二三四区| 亚洲欧洲日产专区| 亚洲美女视频网站| 亚洲春黄在线观看| 亚洲中文字幕一二三四区苍井空 | 鲁丝片一区二区三区免费 | 亚洲熟女少妇一区二区| 国产亚洲一区区二区在线| 国产日产亚洲系列最新| 精品国产香蕉伊思人在线在线亚洲一区二区| 免费中文字幕一级毛片| 亚洲国产精品国产自在在线 | WWW国产成人免费观看视频| ssswww日本免费网站片| 中国在线观看免费的www| 成人影片一区免费观看|