lqxue

          常用鏈接

          統計

          book

          tools

          最新評論

          用udp發送java對象

          在一個java的socket連接中,用ObjectInputStream 和ObjectOutputStream可以很輕松的實現對Object的發送,但是如果沒有建立socket連接,如何用udp包來發送Object對象呢?

              想想我們用udp發送數據的時候可以發送些什么呢?

              DatagramPacket里面可以裝些什么呢? byte[]

             對,就是byte[], 那么我們要發送java對象的話就是想辦法把一個Object轉成byte[],然后再發送到目的地址,然后在接受方把byte轉成Object就可以了。
             如何把一個Object轉化成byte[]呢?我們可以利用ByteArrayOutputStream 這個類
              相信到這里,有些朋友已經知道了怎么做了。
              還是貼點代碼吧!^_^

           
             public void SendInfo(int code, Object obj){
                  ByteArrayOutputStream baos = new ByteArrayOutputStream();
                  ObjectOutputStream oos = null;
                  try{
                     oos = new ObjectOutputStream(baos);
                     oos.writeInt(code);
                     oos.writeObject(obj);
                     oos.flush();
                     byte arr[] = baos.toByteArray();
                     if(arr == null)return;
                     SendDataToClient(arr);
                     if(baos != null)baos.close();
                     if(oos != null)oos.close();
                  }catch(Exception e){
                     FuncForServer.WriteErrMsg(
                       "Exception in Sending data to server.", e);
                  }
              }
          其中SendDataToClient(arr);就不用我說了吧
                
          然后接受方接受到了這個包后呢?
          接收到的數組組成對象:
                  ByteArrayInputStream bais = new ByteArrayInputStream(dataq);
                  ObjectInputStream ois = null;
                  byte arr[] = null;
                  ois = new ObjectInputStream(bais);
                  Object obj = ois.readObject();
          obj就到了,呵呵!

          posted on 2007-08-05 08:29 lqx 閱讀(921) 評論(0)  編輯  收藏 所屬分類: network

          主站蜘蛛池模板: 安岳县| 中宁县| 安西县| 广河县| 徐闻县| 额尔古纳市| 安仁县| 称多县| 威海市| 江孜县| 龙江县| 南京市| 宁德市| 新郑市| 金乡县| 胶州市| 林口县| 临安市| 桐乡市| 太保市| 建平县| 丹凤县| 红安县| 齐齐哈尔市| 勃利县| 青川县| 灵璧县| 新河县| 新乡市| 洪雅县| 天峻县| 九江市| 广元市| 香港 | 南部县| 乌苏市| 永康市| 永兴县| 工布江达县| 松原市| 衢州市|