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

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

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

    服務端:
     1 package com.socket;
     2 
     3 import java.io.*;
     4 import java.net.*;
     5 public class Server
     6 {
     7     public Server ()
     8     {
     9     }
    10     static ServerSocket ss;
    11     static   Socket client;
    12     public static void main (String args[])
    13     {
    14         try
    15         {
    16             ss = new ServerSocket (8099);
    17             client = ss.accept ();
    18         }
    19         catch (Exception ex)
    20         {
    21             ex.printStackTrace ();
    22         }
    23         //實現多線程
    24         new ServerThread (ss,client).start ();
    25     }
    26 }
    27 class ServerThread extends Thread
    28 {
    29     ServerSocket ss;
    30     Socket client;
    31     
    32     public ServerThread (ServerSocket bb,Socket aa)
    33     {
    34         ss = bb;
    35         client = aa;
    36     }
    37     public void run ()
    38     {
    39         try
    40         {
    41             File  file = new File ("test2.jpg");
    42             //創建網絡服務器接受客戶請求
    43             /////////////////////////////////////////////////////////////////////
    44             //得到客戶輸入的信息,這樣可以處理不同請求
    45             BufferedReader in = new BufferedReader (new InputStreamReader (client.getInputStream ()));
    46             if((in.readLine ()).equals ("1"))
    47             {
    48                 file = new File ("test1.jpg");
    49             }
    50             ///////////////////////////////////////////////////////////////////////
    51             FileInputStream fos = new FileInputStream (file);
    52             //創建網絡輸出流并提供數據包裝器
    53             OutputStream netOut = client.getOutputStream ();
    54             OutputStream doc = new DataOutputStream (new BufferedOutputStream (netOut));
    55             //創建文件讀取緩沖區
    56             byte[] buf = new byte[2048];
    57             int num = fos.read (buf);
    58             while(num!=(-1))
    59             {
    60                 doc.write (buf,0,num);//把文件數據寫出網絡緩沖區
    61                 doc.flush ();//刷新緩沖區把數據寫往客戶端
    62                 num=fos.read (buf);//繼續從文件中讀取數據
    63             }
    64             fos.close ();
    65             doc.close ();
    66         }
    67         catch (FileNotFoundException ex)
    68         {
    69             ex.printStackTrace ();
    70         }
    71         catch (IOException ex)
    72         {
    73             ex.printStackTrace ();
    74         }
    75     }
    76 }
    77 
    客戶端:
     1 package com.socket;
     2 
     3 
     4 import java.io.*;
     5 import java.net.*;
     6 
     7 public class Client
     8 {
     9     
    10     public Client ()
    11     {
    12         
    13     }
    14     public static void main(String[] args)throws Exception
    15     {
    16         //使用本地文件系統接受網絡數據并存為新文件
    17         File file = new File("newFile.jpg"); 
    18         if(file.length()!= 0)
    19         {
    20             file.delete();
    21             System.out.println(file.getPath());
    22             System.out.println("執行刪除!");
    23                     
    24         }
    25         file.createNewFile();
    26         RandomAccessFile raf = new RandomAccessFile(file,"rw");
    27         // 通過Socket連接服務器
    28         Socket server = new Socket("127.0.0.1",8099);
    29         
    30 ///////////////////////////////////////////////////////////////////////////////
    31         //創建向服務器傳送流對象
    32         OutputStream out = server.getOutputStream();
    33         PrintWriter netout = new PrintWriter(out,true);
    34         BufferedReader line = new BufferedReader(new InputStreamReader(System.in));
    35         netout.println(line.readLine());
    36 ///////////////////////////////////////////////////////////////////////////////
    37         
    38         //創建網絡接受流接受服務器文件數據
    39         InputStream netIn = server.getInputStream();
    40         InputStream in = new DataInputStream(new BufferedInputStream(netIn));
    41         //創建緩沖區緩沖網絡數據
    42         byte[] buf = new byte[2048];
    43         int num = in.read(buf);
    44         while(num!=(-1))
    45         {    //是否讀完所有數據
    46             raf.write(buf,0,num);//將數據寫往文件
    47             raf.skipBytes(num);//順序寫文件字節
    48             num=in.read(buf);//繼續從網絡中讀取文件
    49         }
    50         in.close();
    51         raf.close();
    52     }
    53  }
    54 


    posted on 2007-02-08 13:48 -274°C 閱讀(17897) 評論(1)  編輯  收藏 所屬分類: JAVA計算機綜合


    FeedBack:
    # re: SOCKET編程
    2007-02-13 14:13 | αβγ
    多線程的實現范例:(程序有修改)
    public static void main (String args[])
    {
    try
    {
    server = new ServerSocket (10888);
    while(true)
    {
    client = server.accept ();
    new Server (server,client).start ();
    }
    }
    catch(Exception e)
    {
    System.out.println (e.toString ());
    }

    }  回復  更多評論
      

    常用鏈接

    留言簿(21)

    隨筆分類(265)

    隨筆檔案(242)

    相冊

    JAVA網站

    關注的Blog

    搜索

    •  

    積分與排名

    • 積分 - 914351
    • 排名 - 40

    最新評論

    主站蜘蛛池模板: 亚洲无码精品浪潮| 日本二区免费一片黄2019| 亚洲日韩精品一区二区三区无码| 亚洲国产一区视频| 色婷婷精品免费视频| 国产色婷婷精品免费视频| 国产亚洲AV无码AV男人的天堂| 亚洲午夜福利精品久久| 婷婷精品国产亚洲AV麻豆不片| 亚洲成av人片在www鸭子| 日韩毛片无码永久免费看| 亚洲国产一区二区a毛片| 亚洲色精品VR一区区三区| 久久久久久久91精品免费观看| www国产亚洲精品久久久日本| 国产亚洲AV无码AV男人的天堂| 最新亚洲精品国偷自产在线 | 亚洲精品成人片在线观看精品字幕 | 成人免费一区二区三区在线观看| 亚洲中久无码永久在线观看同| 亚洲乱亚洲乱妇无码| 婷婷亚洲天堂影院| 免费久久人人爽人人爽av| 国产精品国产午夜免费福利看| 亚洲成年人在线观看| 丁香花免费完整高清观看| 亚洲成AV人片在线观看无| 日本中文字幕免费看| 免费网站看v片在线香蕉| 亚洲一区免费在线观看| 日韩毛片无码永久免费看| 久久精品成人免费观看97| 亚洲首页在线观看| 国产精品白浆在线观看免费| 亚洲色偷偷狠狠综合网| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | 亚洲AV综合色区无码一区爱AV| 一级a性色生活片久久无少妇一级婬片免费放 | 国产精品亚洲综合| 午夜亚洲AV日韩AV无码大全| 在线播放高清国语自产拍免费|