青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 2, 文章 - 73, 評論 - 60, 引用 - 0
數據加載中……

J2ME中Socket如何正確讀取緩沖區中的數據

1.問題描述

在wkt模擬器上, 通過以下代碼可以正確的讀出數據:
 
 conn = (SocketConnection) Connector.open(url, Connector.READ_WRITE, true);
  
  is = conn.openDataInputStream();
  os = conn.openDataOutputStream();
  // 創建登陸報文
  loginPacketBytes = generateLoginPacket();
 
  // 發送登陸報文
  // System.out.println("****發送登陸報文****");
  os.write(loginPacketBytes, 0, loginPacketBytes.length);
  os.flush();
 
  // 先讀取ConstantValue.HEADER_LENGTH個字節,循環遍歷尋找正確的魔數
  recByteNum = is.read(recBytes, 0, ConstantValue.READ_LENGTH);


若從服務器真是返回的字節數是100個字節, 而ConstantValue.READ_LENGTH定義的長度大于100.
 那么在模擬器上沒有問題, 能夠讀到100個字節.

但是到了真機上面測試, 若定義的要讀取的字節數大于實際傳送的字節數, 那就會出現異常情況.

導致根本就讀不到數據.

2.解決方法

先讀取一小部分數據, 得到報文頭(一般都有報文頭, 報文頭中都有整個報文的總長度)
解析報文頭, 這里需要注意的是可能收到的第一個數據并不就是報文的有效數據, 報文的有效數據可能并不在數據緩沖區的首位置, 所以需要正確找到報文頭, 方法各不相同, 有的是使用魔數這種方式, 有個就靠判斷某個值是否等于報文的總長度. 總之記住有效報文的開始位置, 這里記著index,
然后創建一個字節緩沖區, 剛好來接受剩余的數據
byte addBytes[] = new byte[recHeader.getBufferSize() + index - (recByteNum - ConstantValue.HEADER_LENGTH)];
is.readFully(addBytes);

這樣一般就可以正確的讀出有效數據了.

3.最新方法
   int loop = 0;
   int hasReadLen = 0;
   
   // 讀取報文頭
   while (true)
   {
    loop++;
    
    if (loop >= m_oNET_DVR.m_iTimeOutVal / NET_DVR_PARAM.LOOP_INTERVAL)
    {
     SDK.SetLastError(NET_DVR_Dec.NET_DVR_NETWORK_RECV_TIMEOUT);
     return NET_DVR_Dec.RET_FAIL;
    }
     
    if (m_oCfgIs.available() >= NET_DVR_PARAM.REC_PACKET_HEADER_LENGTH)
    {
     // 讀取報文頭
     recByteNum = m_oCfgIs.read(m_byCfgRecBuf, 0, NET_DVR_PARAM.REC_PACKET_HEADER_LENGTH);
     
     hasReadLen += recByteNum;
     
     if (recByteNum == NET_DVR_PARAM.REC_PACKET_HEADER_LENGTH)
     {
      // 解析報文總長度
      pakcetTotalLen  = NetHelper.convertNetBytesToInt(m_byCfgRecBuf, 0);
      break;
     }
     else
     {
      SDK.SetLastError(NET_DVR_Dec.NET_DVR_NETWORK_RECV_ERROR);
      return NET_DVR_Dec.RET_FAIL;
     }
    }
    
    Thread.sleep(NET_DVR_PARAM.LOOP_INTERVAL);
   }
   
   // 讀取報文體
   while (true)
   {
    loop++;
    
    if (loop >= m_oNET_DVR.m_iTimeOutVal / NET_DVR_PARAM.LOOP_INTERVAL)
    {
     SDK.SetLastError(NET_DVR_Dec.NET_DVR_NETWORK_RECV_TIMEOUT);
     return NET_DVR_Dec.RET_FAIL;
    }
    
    // 讀取剩余數據
    recByteNum = m_oCfgIs.read(m_byCfgRecBuf, hasReadLen, pakcetTotalLen - hasReadLen);
    
    hasReadLen += recByteNum;
    
    // 讀取完畢
    if (hasReadLen >= pakcetTotalLen)
    {
     break;
    }
    else
    {
     Thread.sleep(100);
     continue;
    }
   }

posted on 2009-04-16 09:34 郭天文 閱讀(1639) 評論(0)  編輯 收藏 引用 所屬分類: J2ME

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧美视频在线观看| 亚洲无限av看| 国产精品久久网| 在线观看视频一区二区欧美日韩| 亚洲黄网站黄| 亚洲国产综合在线看不卡| 欧美高清在线视频观看不卡| 韩日视频一区| 欧美黄色精品| 欧美sm极限捆绑bd| 亚洲视频免费观看| 欧美大片在线看免费观看| 欧美久久久久久久久| 亚洲午夜免费视频| 国产精品成人va在线观看| 国产精品99久久久久久有的能看 | 亚洲第一精品电影| 女同一区二区| 国产精品视频yy9099| 99热免费精品| 蜜臀av性久久久久蜜臀aⅴ| 亚洲图片欧美日产| 在线综合亚洲| 欧美亚洲网站| 日韩视频免费在线| 欧美性猛交99久久久久99按摩| 欧美激情国产日韩精品一区18| 亚洲女优在线| 一本大道久久a久久精品综合| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲黄色一区| 免费日韩av| 欧美中文字幕视频| 欧美大片免费看| 久久久蜜桃精品| 免费永久网站黄欧美| 欧美在线观看一区二区| 裸体丰满少妇做受久久99精品| 欧美一级一区| 1024成人| 亚洲国产精品悠悠久久琪琪| 99国产麻豆精品| 亚洲区国产区| 欧美日韩一区二区三区在线看| 国内精品久久久久影院色| 一区二区av在线| 性做久久久久久久久| 国产精品欧美日韩一区二区| 亚洲欧美伊人| 久久精品人人做人人综合 | 久久久久久伊人| 久久在线视频在线| 狠狠狠色丁香婷婷综合久久五月| 久久久久国产一区二区三区四区| 性色av一区二区三区在线观看| 伊人久久av导航| 亚洲欧美日韩国产综合在线 | 久久久精品日韩欧美| 亚洲一二三区视频在线观看| 亚洲福利av| 国产精品你懂得| 香蕉av福利精品导航| 蜜桃av久久久亚洲精品| 一区二区免费看| 亚洲精品一二| 亚洲国内高清视频| 欧美亚男人的天堂| 亚洲视频一区二区| 99在线视频精品| 一区二区三区国产| 91久久国产综合久久蜜月精品 | 国产精品腿扒开做爽爽爽挤奶网站| 午夜一区二区三视频在线观看 | 伊伊综合在线| 先锋亚洲精品| 亚洲欧美日韩专区| 亚洲激情图片小说视频| 亚洲欧美一级二级三级| 久久av二区| 男人的天堂成人在线| 久久先锋影音| 午夜精品福利在线观看| 午夜激情亚洲| 国产精品一区在线播放| 亚洲少妇最新在线视频| 国产喷白浆一区二区三区| 国产精品亚洲综合色区韩国| 尤物yw午夜国产精品视频明星| 在线免费观看视频一区| 久久久国产一区二区| 欧美福利一区二区| 亚洲黄网站黄| 一本大道久久a久久精二百| 一区二区久久久久久| 噜噜噜噜噜久久久久久91 | 亚洲国产成人在线| 亚洲天堂成人在线视频| 一区二区三区.www| 欧美区国产区| 亚洲精品欧洲精品| 91久久中文| 国产欧美一区二区精品婷婷| 欧美精品18+| 黑人中文字幕一区二区三区| 欧美一区2区三区4区公司二百| 午夜精品一区二区三区电影天堂| 欧美日本韩国一区| 欧美成人午夜激情视频| 一区二区三区国产在线观看| 欧美成人免费播放| 日韩视频―中文字幕| 亚洲人精品午夜| 欧美成人免费大片| 国产精品亚洲综合| 欧美成人高清视频| 欧美国产第二页| 欧美一区1区三区3区公司| 欧美性理论片在线观看片免费| 欧美一区二区精品在线| 午夜精品美女自拍福到在线| 日韩小视频在线观看| 一本色道久久综合亚洲精品婷婷| 韩国成人理伦片免费播放| 久久国产精品高清| 欧美wwwwww| 亚洲色无码播放| 亚洲日本无吗高清不卡| 欧美综合77777色婷婷| 欧美日本高清视频| 欧美国产一区在线| 国产日本欧美一区二区三区在线 | 欧美a级片网| 欧美激情va永久在线播放| 欧美一区二区三区精品电影| 欧美精品观看| 久久乐国产精品| 韩日欧美一区| 玖玖玖免费嫩草在线影院一区| 狠久久av成人天堂| 亚洲婷婷国产精品电影人久久| 99pao成人国产永久免费视频| 欧美大片免费久久精品三p| 欧美www在线| 亚洲一级在线观看| 性欧美18~19sex高清播放| 久久久国产精品亚洲一区 | 国产亚洲精品激情久久| 亚洲免费在线观看| 欧美一站二站| 国产欧美亚洲精品| 日韩亚洲欧美成人| 亚洲欧美日韩国产综合| 国产一区二区毛片| 欧美亚洲自偷自偷| 另类国产ts人妖高潮视频| 亚洲一区二区三区在线| 亚洲视频在线观看三级| 欧美二区不卡| 一区二区三区**美女毛片| 久久久久久久久蜜桃| 在线观看成人一级片| 欧美日韩在线观看一区二区三区| 午夜视频一区| 欧美大尺度在线| 国产精品入口| 久久综合五月| 亚洲综合色网站| 99精品视频免费| 欧美黄色成人网| 久久久美女艺术照精彩视频福利播放| 亚洲永久字幕| 久久在线视频| 亚洲午夜电影网| 亚洲国产影院| 影音先锋另类| 激情成人综合网| 国产精品magnet| 国产精品日韩一区二区| 亚洲啪啪91| 久久久福利视频| 欧美一区二区国产| 亚洲欧美福利一区二区| 一个色综合导航| 亚洲日本精品国产第一区| 一区二区三区精品| 午夜视频精品| 在线观看成人一级片| 亚洲国产精品视频一区| 99re视频这里只有精品| 99re热精品| 亚洲欧美国产高清va在线播| 99精品视频免费观看视频| 夜夜嗨av色一区二区不卡| 亚洲婷婷在线| 中文欧美在线视频| 欧美一区二区在线免费播放| 欧美v国产在线一区二区三区| 99国产精品自拍| 久久大香伊蕉在人线观看热2| 欧美一区二区视频在线观看2020|