<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    云自無心水自閑

    天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
    posts - 288, comments - 524, trackbacks - 0, articles - 6
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
    最近在開發中遇到一個問題,就是如何判斷遠端服務器是否已經斷開連接,如果斷開那么需要重新連接。 

    首先想到socket類的方法isClosed()、isConnected()、isInputStreamShutdown()、isOutputStreamShutdown()等,但經過試驗并查看相關文檔,這些方法都是本地端的狀態,無法判斷遠端是否已經斷開連接。 

    然后想到是否可以通過OutputStream發送一段測試數據,如果發送失敗就表示遠端已經斷開連接,類似ping,但是這樣會影響到正常的輸出數據,遠端無法把正常數據和測試數據分開。 

    最后又回到socket類,發現有一個方法sendUrgentData,查看文檔后得知它會往輸出流發送一個字節的數據,只要對方Socket的SO_OOBINLINE屬性沒有打開,就會自動舍棄這個字節,而SO_OOBINLINE屬性默認情況下就是關閉的,太好了,正是我需要的! 

    于是,下面一段代碼就可以判斷遠端是否斷開了連接: 

    Java代碼  收藏代碼
    1. try{  
    2.       socket.sendUrgentData(0xFF);  
    3. }catch(Exception ex){  
    4.       reconnect();  
    5. }  



    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 在线观看免费精品国产| 亚洲精品乱码久久久久久蜜桃| 免费日韩在线视频| 亚洲精品国产字幕久久不卡| 激情亚洲一区国产精品| 精选影视免费在线 | 美女视频黄的全免费视频| 亚洲精品456播放| 亚洲香蕉久久一区二区三区四区| xvideos永久免费入口| 免费人成在线观看69式小视频| 亚洲国产精品毛片av不卡在线| 亚洲日本在线观看网址| 免费人成又黄又爽的视频在线电影| 8x8×在线永久免费视频| 亚洲av无码国产精品色在线看不卡 | 免费羞羞视频网站| 亚洲欧洲美洲无码精品VA| 亚洲AV香蕉一区区二区三区| 一个人免费日韩不卡视频| 可以免费观看的一级毛片| 亚洲国产成人精品青青草原| 久久久久久国产a免费观看不卡 | 亚洲精品无码人妻无码| 免费观看在线禁片| 免费大黄网站在线观| 精品亚洲AV无码一区二区| 日本道免费精品一区二区| 免费在线观看黄网| 国产成人精品日本亚洲直接| 久99久精品免费视频热77| 亚洲日本中文字幕一区二区三区| 亚洲人成图片网站| 久久久久久AV无码免费网站 | 亚洲av成人一区二区三区在线播放| 99爱在线精品视频免费观看9| 亚洲午夜精品一级在线播放放| 亚洲熟女综合一区二区三区| 日韩插啊免费视频在线观看| 亚洲午夜久久久影院伊人| 国产精品久久亚洲一区二区|