posts - 4, comments - 10, trackbacks - 0, articles - 2

          導航

          <2007年1月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          我現(xiàn)在做一個socket客戶端的接口,有這么一個問題。
          1,如果在30秒內(nèi)接收到服務(wù)器端返回的消息,就認為是一次成功的連接。否則斷開此次連接
          2,采用短連接方式。即每次往服務(wù)器端發(fā)消息都建立一次連接
          3,每個發(fā)送請求最多允許3次連接。
          問題:怎樣判斷30秒內(nèi)沒有接收到消息和收到消息時沒有超出30秒就斷開連接呢?
          ??????? 請給小弟一個思路吧。

          Feedback

          # re: 一個關(guān)于時間間隔的問題,請大俠們幫一下忙了。急!!!  回復  更多評論   

          2007-01-04 22:16 by jrobot[匿名]
          連接時可以設(shè)置接連超時,socket.connect(SocketAddress endpoint, int timeout) ;
          如果是讀取內(nèi)容,也可以設(shè)置超時socket.setSoTimeout(int timeout);要在讀取內(nèi)容前設(shè)置,jre 1.4以上都支持

          我想這樣可以解決你的問題吧,捕獲相應的異常做相應的處理就可以了,具體可以參考jdk的文檔

          # re: 一個關(guān)于時間間隔的問題,請大俠們幫一下忙了。急!!!  回復  更多評論   

          2007-01-05 16:00 by samfree
          多謝樓上給的提示,我按照你說的設(shè)置了socket.setSoTimeout(30000);得到了我的目的。看來我有必要多研究一下socket函數(shù)了哈哈

          # re: 一個關(guān)于時間間隔的問題,請大俠們幫一下忙了。急!!!  回復  更多評論   

          2011-11-25 11:43 by liangO
          java.net
          類 Socket
          java.lang.Object
          java.net.Socket
          直接已知子類:
          SSLSocket


          setSoTimeout
          public void setSoTimeout(int timeout)
          throws SocketException啟用/禁用帶有指定超時值的 SO_TIMEOUT,以毫秒為單位。將此選項設(shè)為非零的超時值時,在與此 Socket 關(guān)聯(lián)的 InputStream 上調(diào)用 read() 將只阻塞此時間長度。如果超過超時值,將引發(fā) java.net.SocketTimeoutException,雖然 Socket 仍舊有效。選項必須在進入阻塞操作前被啟用才能生效。超時值必須是 > 0 的數(shù)。超時值為 0 被解釋為無窮大超時值。

          參數(shù):
          timeout - 指定的以毫秒為單位的超時值。
          拋出:
          SocketException - 如果底層協(xié)議出現(xiàn)錯誤,例如 TCP 錯誤。
          從以下版本開始:
          JDK 1.1
          另請參見:
          getSoTimeout()

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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 教育| 安顺市| 深泽县| 松溪县| 寿光市| 渭南市| 平阳县| 英吉沙县| 靖江市| 昆明市| 渝北区| 临沧市| 商南县| 米林县| 台中市| 清水县| 城固县| 曲水县| 青神县| 平远县| 黄冈市| 兰西县| 毕节市| 扬中市| 万载县| 庄浪县| 抚顺市| 廉江市| 莱阳市| 八宿县| 西乌| 屯昌县| 永仁县| 洪洞县| 太康县| 隆昌县| 敦煌市| 锦屏县| 乃东县| 东莞市| 南城县|