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

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

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

    Socket Programming Considerations (1)

    Posted on 2010-07-26 09:31 天快黑了 閱讀(1822) 評論(1)  編輯  收藏 所屬分類: Socket
    第一次開博,第一次寫文章。文筆不好,只是記錄一下個人心得。

    最近一直在做Socket程序,這里把一些Socket程序的注意事項總結一下。今天先說說Socket中的Timeout,其它的下次補全。


    1.       Socket Timeout

    Socket程序的時候需要注意設置下面的timeout,避免對方沒有響應的時候,導致Socket程序掛起或等待時間過長

    1.1         Accept Timeout

    Accept timeout 僅對ServerSocket有用。ServerSocket 使用accept()方法來監聽客戶端Socket的連接。

    默認,ServerSocket.accept() 方法會一直阻塞直到有客戶端來連接。通常,我們不需要設置accept timeout.

    但有時候特殊情況,還是要考慮設置accept timeout.

    比如: 程序A給程序B發了一個JMS消息,然后程序A啟動一個Socket Server,想通過socket等待接收程序B的返回消息。如果不設置accept timeout, 并且程序B因為某些原因一直不能連接Socket Server,最終會導致程序A掛起。

    Accept Timeout可以這樣設置:

    ServerSocket serverSocket = new ServerSocket(5555);

    serverSocket.setSoTimeout(5000); // in milliseconds

    while (true) {

        Socket socket = serverSocket.accept();

            …

    }

    1.2         Connect Timeout

    Client端連接Server端的時候,可以指定Connect Timeout

    如果沒有指定,會使用操作系統的默認值:

    OS

    Default TCP timeout

    BSD

    75 seconds

    Linux

    189 seconds

    Solaris

    225 seconds

    Windows XP

    21 seconds

    Connect Timeout可以這樣設置:

    SocketAddress socketAddress = new InetSocketAddress(host, port);

    socket = new Socket();

    socket.connect(socketAddress, connectTimeout);

    1.3         Receive Timeout

    socket從另一方接收數據時,可以設置Receive Timeout

    默認沒有timeoutsocket會一直阻塞直到有數據可讀取。

    Receive Timeout可以這樣設置:

    Socket socket = new Socket(host, port);

    socket.setSoTimeout(timeout);

    1.4         Send Timeout

    Send Timeoutsocket給另一方發送數據時使用的。

    不過Java里沒有辦法設置Send Timeout.

    當然,socket發送數據的時候,會首先發送到本機OS的一個buffer內。一般只要一次發送的數據不是很大,即使對方掛起或暫時不能接收數據,也不會導致發送方掛起。


    Feedback

    # re: Socket Programming Considerations (1)  回復  更多評論   

    2010-07-27 10:49 by heqs
    不錯,寫的很詳細。。。期待你的下一章。。。

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


    網站導航:
     

    posts - 5, comments - 25, trackbacks - 0, articles - 1

    Copyright © 天快黑了

    主站蜘蛛池模板: 67pao强力打造67194在线午夜亚洲| 国产亚洲色婷婷久久99精品91| 色噜噜综合亚洲av中文无码| aaa毛片视频免费观看| 国产av无码专区亚洲国产精品| 一级毛片免费视频网站| 亚洲国产婷婷综合在线精品| 亚洲精品视频免费观看| 亚洲色欲久久久综合网| 99re视频精品全部免费| 亚洲国产精品综合久久网各| 毛片在线免费视频| 国产亚洲福利一区二区免费看| 亚洲色偷偷综合亚洲AV伊人| 免费网站观看WWW在线观看| 亚洲第一AAAAA片| 91精品成人免费国产片| 亚洲国产美女精品久久久| 深夜国产福利99亚洲视频| 久久青青草原国产精品免费| 亚洲精品视频久久| 日韩精品无码人妻免费视频| 一级毛片试看60分钟免费播放| 亚洲AV日韩AV永久无码久久| 日韩在线播放全免费| 国产精品亚洲专区无码牛牛| 久久久亚洲精品蜜桃臀| 24小时在线免费视频| 亚洲国产精品自在自线观看| 狠狠色婷婷狠狠狠亚洲综合| 最近2018中文字幕免费视频| 亚洲中文字幕久久精品无码A| 免费a级毛片大学生免费观看| baoyu116.永久免费视频| 911精品国产亚洲日本美国韩国| 免费鲁丝片一级在线观看| XXX2高清在线观看免费视频| 麻豆狠色伊人亚洲综合网站| 美腿丝袜亚洲综合| 免费精品国产自产拍在线观看图片| 日韩一级片免费观看|