隨筆-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 閱讀(314) 評論(0)  編輯  收藏 所屬分類: 10.Java
          主站蜘蛛池模板: 玛曲县| 盘山县| 长子县| 华坪县| 互助| 团风县| 道孚县| 黑龙江省| 汕尾市| 印江| 鲁甸县| 皮山县| 温泉县| 连云港市| 衡阳市| 枝江市| 赤壁市| 呼和浩特市| 玉屏| 揭阳市| 承德县| 香河县| 丁青县| 章丘市| 阜宁县| 台湾省| 格尔木市| 白银市| 桑植县| 隆尧县| 彝良县| 集贤县| 咸丰县| 康保县| 扶余县| 巫溪县| 平昌县| 弥勒县| 昌平区| 长子县| 苏尼特左旗|