<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 墻頭草 閱讀(2108) 評論(2)  編輯  收藏

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


    網站導航:
     
    人人游戲網 軟件開發網 貨運專家
    主站蜘蛛池模板: 亚洲人午夜射精精品日韩| www在线观看免费视频| 97在线视频免费播放| 国产AⅤ无码专区亚洲AV| 永久免费精品影视网站| 国产成人无码免费视频97| 亚洲乱亚洲乱妇无码| 最近免费中文字幕大全视频 | 久久亚洲精品国产亚洲老地址 | 日韩电影免费在线观看网站| 久久综合亚洲色HEZYO国产| 一边摸一边桶一边脱免费视频 | 亚洲国产精品无码久久久不卡| 99精品视频在线观看免费| 亚洲一级片内射网站在线观看| 一区在线免费观看| 亚洲综合伊人久久大杳蕉| 三年片在线观看免费| 亚洲美女视频网址| 免费毛片a在线观看67194| 亚洲狠狠婷婷综合久久| 四虎影在线永久免费四虎地址8848aa | 久久久久亚洲精品成人网小说| 麻豆精品成人免费国产片| 亚洲人成在线播放网站岛国| 精品福利一区二区三区免费视频| 亚洲人成在线播放| 日韩中文无码有码免费视频| 国产精品亚洲一区二区三区久久| 亚洲视频一区二区| 99精品视频在线免费观看| 亚洲高清有码中文字| 亚洲成A人片在线观看无码3D| 精品国产污污免费网站入口| 亚洲精品免费观看| 久久精品国产免费| 国产又粗又猛又爽又黄的免费视频 | 亚洲一区二区中文| 久久午夜免费视频| 国产av无码专区亚洲av果冻传媒| 国产天堂亚洲精品|