<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 閱讀(17898) 評論(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

    搜索

    •  

    積分與排名

    • 積分 - 914507
    • 排名 - 40

    最新評論

    主站蜘蛛池模板: 久久亚洲AV成人无码| 美女黄频免费网站| 国产精品四虎在线观看免费| 成年大片免费视频播放一级| 亚洲国产日韩一区高清在线| 成人免费无码大片a毛片| 成人无码精品1区2区3区免费看| 自怕偷自怕亚洲精品| 国产一级淫片a免费播放口之| 国产免费一区二区三区不卡| 亚洲最大中文字幕无码网站| 亚洲午夜久久久久妓女影院| 毛片a级毛片免费播放下载| 免费无码又爽又刺激一高潮| 亚洲AV香蕉一区区二区三区| 亚洲国产精品久久| 精品国产日韩亚洲一区| 成人免费无码大片a毛片| 久久免费福利视频| 国产精品一区二区三区免费| 亚洲乱亚洲乱妇无码| 亚洲成a人片毛片在线| 亚洲精品无码av人在线观看| 国产成人精品123区免费视频| 蜜臀98精品国产免费观看| a国产成人免费视频| 国产va免费精品| 美国免费高清一级毛片| 亚洲风情亚Aⅴ在线发布| 久久精品国产亚洲av麻豆蜜芽 | 亚洲午夜福利在线观看| 亚洲中文字幕日产乱码高清app| 日本人护士免费xxxx视频| 好男人看视频免费2019中文 | 亚洲AV日韩AV永久无码色欲| 激情综合亚洲色婷婷五月| 久久狠狠爱亚洲综合影院| 亚洲人成人网毛片在线播放| 亚洲精品福利你懂| 亚洲色偷偷综合亚洲av78| 亚洲精品无码不卡在线播放|