<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永久在线观看| 国产亚洲福利精品一区| 国产免费人成在线视频| 手机看黄av免费网址| 秋霞人成在线观看免费视频 | igao激情在线视频免费| 亚洲最大av资源站无码av网址| 亚洲一区二区成人| 亚洲日韩欧洲乱码AV夜夜摸| 免费人成网站在线播放| 午夜毛片不卡高清免费| 中国在线观看免费高清完整版| 日韩精品无码专区免费播放| A国产一区二区免费入口| 国产午夜亚洲精品不卡免下载 | 99视频全部免费精品全部四虎| 国产好大好硬好爽免费不卡| 好吊色永久免费视频大全| 深夜特黄a级毛片免费播放| 久久亚洲AV成人无码国产最大| 亚洲欧美日韩一区二区三区在线| 亚洲天堂一区二区三区| 亚洲高清无在码在线无弹窗| 亚洲国产成人久久精品动漫| 久久精品国产亚洲沈樵| 久久91亚洲人成电影网站| 亚洲精品无码乱码成人| 国产亚洲精品xxx| 亚洲AV无码成人专区片在线观看| 国产AV无码专区亚洲精品| 国产亚洲综合久久系列| 亚洲国产精品高清久久久| 亚洲av无码专区在线播放| 亚洲av色福利天堂| 久久精品国产亚洲AV网站| 亚洲91av视频| 亚洲影视一区二区| 亚洲人精品亚洲人成在线| 亚洲av永久中文无码精品综合 |