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 閱讀(923) 評論(0)  編輯  收藏 所屬分類: network

          主站蜘蛛池模板: 农安县| 新龙县| 凤山市| 浦城县| 古交市| 望都县| 龙门县| 丹凤县| 莎车县| 探索| 高唐县| 莫力| 镇平县| 平乐县| 荆州市| 泰安市| 如皋市| 张家界市| 万荣县| 阿勒泰市| 东乡族自治县| 额尔古纳市| 酉阳| 宁强县| 清流县| 个旧市| 辽中县| 湘潭县| 尼勒克县| 文昌市| 北宁市| 洛川县| 永吉县| 潮州市| 墨玉县| 龙井市| 和平县| 新津县| 延寿县| 长治县| 中西区|