隨筆-199  評論-203  文章-11  trackbacks-0

          //服務器端
          import java.net.*;
          import java.io.*;

          public class TestUDPServer{
           public static void main(String args[])throws Exception
           {
            byte buf[]= new byte[1024];
            //數據報包用來實現無連接包投遞服務
            DatagramPacket dp = new DatagramPacket(buf,buf.length);
            //數據報套接字是包投遞服務的發送或接收點
            DatagramSocket ds = new DatagramSocket(8888);
            while(true)
            {
             //從此套接字接收數據報包
             ds.receive(dp);
             ByteArrayInputStream bais = new ByteArrayInputStream(buf);
             DataInputStream dis = new DataInputStream(bais);
             //從包含的輸入流中讀取此操作需要的字節
             System.out.println(dis.readLong());
            }
           }
           
          }

          //客戶端

          import java.net.*;
          import java.io.*;

          public class TestUDPClient
          {
           public static void main(String args[])throws Exception
           {
            //定義一個Long類型的數據
            long n= 10000L;
            //聲明一個輸出管道
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            //數據輸出流允許應用程序以適當方式將基本 Java 數據類型寫入輸出流中
            DataOutputStream dos = new DataOutputStream(baos);
            //將一個 long 值以 8-byte 值形式寫入基礎輸出流中,先寫入高字節。如果沒有拋出異常,則計數器 written 增加 8。
            dos.writeLong(n);
            
            //創建一個新分配的 byte 數組。其大小是此輸出流的當前大小,并且緩沖區的有效內容已復制到該數組中。
            byte[] buf = baos.toByteArray();1
            //構造數據報包,用來將長度為 length 的包發送到指定主機上的指定端口號。length 參數必須小于等于 buf.length。
            DatagramPacket dp = new DatagramPacket(buf,buf.length,new InetSocketAddress("127.0.0.1",8888));
            DatagramSocket ds = new DatagramSocket(6666);
            //從此套接字發送數據報包
            ds.send(dp);
            //關閉此數據報套接字
            ds.close();
            
           }
          }


          posted on 2009-05-17 09:29 Werther 閱讀(318) 評論(0)  編輯  收藏 所屬分類: 10.Java
          主站蜘蛛池模板: 工布江达县| 恩平市| 崇州市| 宝应县| 育儿| 水富县| 淄博市| 台湾省| 玛多县| 通河县| 枝江市| 泽普县| 巢湖市| 揭阳市| 鹤峰县| 正蓝旗| 仁化县| 亚东县| 教育| 广德县| 普格县| 沈丘县| 孝昌县| 灵山县| 徐州市| 河东区| 华容县| 嘉鱼县| 广东省| 定州市| 贵州省| 全南县| 南充市| 新绛县| 广州市| 绿春县| 定襄县| 隆化县| 沂水县| 北辰区| 读书|