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

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

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

    posts - 37, comments - 8, trackbacks - 0, articles - 0

    java基礎:關于網絡編程

    Posted on 2008-08-04 21:36 夢與橋 閱讀(348) 評論(0)  編輯  收藏 所屬分類: java基礎
    1、InetAddress類
    InetAddress類沒有提供構造函數,只可以調用一些靜態方法來生成。
    2、使用URL方式進行網絡連接:

    import java.io.*;
    import java.net.*;
    public class Test
    {
     public static void main(String args[])
     {
      try
      {
       URL url=new URL("http://www.baidu.com");
       BufferedReader br=new BufferedReader(
        new InputStreamReader(url.openStream()));
       String str;
       while((str=br.readLine())!=null)
       {
        System.out.println(str);
       }

        br.close();
      }
      catch (Exception e)
      {
       e.printStackTrace();
      }
      
     }
    }

    3、基于TCP的socke編程:
            圖解:

    code:
    服務器端:

    import java.io.*;
    import java.net.*;
    public class xServer
    {
     public static final int PORT=4500;
     public static void main(String args[])throws IOException
     {
      ServerSocket s=new ServerSocket(PORT);
      System.out.println("Begin:"+s);
      try
      {
       Socket socket=s.accept();
       try
       {
        System.out.println("Connection accepted:"+socket);
        BufferedReader in=new BufferedReader(
         new InputStreamReader(socket.getInputStream()));
        PrintWriter out=new PrintWriter(new BufferedWriter(
         new OutputStreamWriter(socket.getOutputStream())),true);
        while(true)
        {
         String st=in.readLine();
         if(st.equals("END"))break;
         System.out.println("Recived:"+st);
         out.println("OK:");
        }
       }
       finally
       {
        System.out.println("closing...");
        socket.close();
       }
      }
      finally
      {
       s.close();
      }
     }

    }

    客戶端:
    import java.io.*;
    import java.net.*;
    public class xClient
    {
     public static void main(String[] args)throws IOException
     {
      InetAddress addr=InetAddress.getByName("localhost");
      System.out.println("addr="+addr);
      Socket socket =new Socket(addr,xServer.PORT);
      try
      {
       System.out.println("socket="+socket);
       BufferedReader in=new BufferedReader(
         new InputStreamReader(socket.getInputStream()));
       PrintWriter out=new PrintWriter(new BufferedWriter(
         new OutputStreamWriter(socket.getOutputStream())),true);
       for(int i=0;i<5;i++)
       {
        out.println(i+"Hello!");
        String st=in.readLine();
        System.out.println(">>"+st);
       }
       out.println("END");
      }
      finally
      {
       System.out.println("closing...");
       socket.close();
      }
     }
    }

    4、基于UDP的Socket編程:
    服務器端:
    import java.io.*;
    import java.lang.*;
    import java.net.*;
    public class UDPServerDemo
    {
     private DatagramSocket skServer;
     private DatagramPacket dpServer;
     private byte rb[];
     private String strReceived;
     public UDPServerDemo()
     {
      Init();
     }
     public void Init()
     {
      try
      {
       skServer=new DatagramSocket(10005);
       System.out.println("服務器已啟動并已處于監聽狀態!");
       rb=new byte[1024];
       dpServer=new DatagramPacket(rb,rb.length);
       strReceived="";
       int i=0;
       while(i==0)
       {
        //System.out.println("i="+i);
        skServer.receive(dpServer);
        i=dpServer.getLength();
        if(i>0)
        {
         strReceived=new String(rb,0,dpServer.getLength());
         System.out.println("[from Client]"+strReceived);i=0;
        }
       }
      }
      catch (Exception e)
      {
       e.printStackTrace();
      }
     }
     public static void main(String args[])
     {
      new UDPServerDemo();
     }
    }

    客戶端;
    import java.io.*;
    import java.lang.*;
    import java.net.*;
    public class UDPClientDemo
    {
     private DatagramSocket dsClient;
     private DatagramPacket dpClient;
     private byte sb[];
     private String strSend;
     public UDPClientDemo()
     {
      Init();
     }
     public void Init()
     {
      try
      {
       dsClient=new DatagramSocket(10002);
       sb=new byte[1024];
       strSend="使用UDP方式發送的數據";
       sb=strSend.getBytes();
       dpClient=new DatagramPacket(sb,sb.length,InetAddress.getByName("localhost"),10005);
       System.out.println("開始發送數據...");
       dsClient.send(dpClient);
       System.out.println("數據發送完畢!");
      }
      catch (SocketException se)
      {
       se.printStackTrace();
      }
      catch (IOException ie)
      {
       ie.printStackTrace();
      }
     }
     public static void main(String args[])
     {
      new UDPClientDemo();
     }
    }
    主站蜘蛛池模板: 亚洲综合亚洲综合网成人| 成人免费的性色视频| 日韩午夜免费视频| 99999久久久久久亚洲| 在线观看AV片永久免费| 国产精品亚洲综合五月天| 成人免费视频77777| 亚洲中文字幕无码亚洲成A人片| 青青青免费国产在线视频小草| 久久精品国产亚洲av水果派| h视频在线观看免费完整版| 亚洲明星合成图综合区在线| 免费av欧美国产在钱| 亚洲av无码专区青青草原| 免费观看国产精品| 一级有奶水毛片免费看| 亚洲国产成人久久精品动漫| 100部毛片免费全部播放完整| 亚洲人成激情在线播放| 日本免费无遮挡吸乳视频电影| 深夜免费在线视频| 亚洲热妇无码AV在线播放| 最近2019中文字幕免费直播| 亚洲中文字幕乱码熟女在线| 亚洲高清最新av网站| 久久国产色AV免费观看| 亚洲精品无码专区| 亚洲一区二区三区在线观看精品中文| 在线观看的免费网站无遮挡| 亚洲乱亚洲乱妇24p| 亚洲一区二区三区无码中文字幕| 120秒男女动态视频免费| 国产精品亚洲综合网站| 久久精品国产亚洲AV果冻传媒 | 亚洲国产成人精品无码区花野真一| 亚洲A∨精品一区二区三区| 久久免费观看国产精品| 激情小说亚洲图片| 蜜芽亚洲av无码精品色午夜| 国产一级一片免费播放i| 男人都懂www深夜免费网站|