四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

關于B/S判斷瀏覽器斷開的問題討論

客戶端通過腳本和服務器保持請求,每次請求刷新一個時間,服務器檢查這個時間,如果發現時間超過預定,則可以判斷該客戶端瀏覽器已關閉。然后對進行相應得操作。如果你想知道是那個客戶端瀏覽器關閉,可以把會話綁定到輪詢對象中。長連接不是所有服務器都支持得,這種方式,比你的現實多了。
我的個人看法。
我首先同意這幾種做法
,它們也能實現這個需求,他們都通過客戶端的輪詢,更新服務器的最后訪問時間,讓服務器檢測超時。我來談談我對這2種做法的理解

1 服務器端如何進行超時判斷,啟動一個后臺線程進行定時輪詢?循環檢查每個session是否超過了間隔?
2 如果用線程,那么服務器端判斷的間隔或者周期是多少,1秒,10秒,20秒..
3 如果大家都用10秒間隔,客戶也能承受這個間隔,我們來看結果
  1) 我還不知道哪個服務器不支持長連接,如果你下載100G的文件,難道不行嗎?中間非得斷開n次?
  2) 你的每個客戶端需要在10秒之內,發出新的請求,讓服務器進行響應,我的則不需要
  3) 輪詢操作要注意并發問題,也就是同步訪問問題,你的數據得保存在application或者其它自定義全局數據結構里面,而多線程不存在這個問題
  4) 輪詢屬于單線程,統一處理,而長連接為多線程
  5) 客戶端每次請求刷新后斷開連接,可以減少占用服務器的連接數,提高并發數,但相對增加了每次請求的負擔。
4 關鍵區別:如果要求在0.1秒內必須做出精確反應,發現連接斷開要馬上進行處理,我想我的多線程方案會更有效,因為瀏覽器很難在那么短的時間內發出10次請求的。而長連接則只需要減少發送數據的間隔就可以。

 

總結:
需求決定應用
系統要求的判斷超時的時間越短,長連接的方案優勢越大,時間越長,輪詢的可用性越強。具體需要根據應用做抉擇。
對于一般的B/S判斷,大部分聊天室和在線人數統計都是臨行輪詢操作的。一個人離開聊天室,不會立即更新在線列表,但IM程序(QQ/MSN)等則會相對非常精確的更新。

如果需要精確判斷,我想長連接是我能想到的解決方案之一;另一個就是客戶端插件,比如applet,Flash,ActiveX等使用socket進行了,不過機制和長連接沒有區別。
兩點小建議

1。 做到0.1反應可以,但做到0.1秒“精確”反應不行。TCP協議雖然是長連接,但沒規定CS中一端掉線時,另一端迅速可知(否則也不會有后來TCP不太標準的“心跳”協議),這關乎中間網絡硬件的支持。現實中也是如此。 當然,我不知道版主這篇文章的可能還有上文,所以不知這系統準備運行在什么網上。

2。 文章既然提到“前面頁面”。看來這個系統就不應該是QQ或游戲服務器了,后臺很可能就是運行一個普通的WEB服務器,IIS或APACHE。。它們的設計目標明確,所以都會有最大連接數限制。表面上,數千人同時在線,沒關系,由于采用短連接,同一時間的并發數通常夠用。但如果就算客戶不活動,連接也要保持,那這個數目就很快有個死限了。
就算游戲或IM工具,典型如QQ,也不敢用TCP來長連接服務器

所以我的總結是,如果準備做一個最多就1,2百人左右同時上線(而不是同時活動),那可以采用樓主的方法。如果人數一漲,則包括flash, activeX, socket ...統統不可能用長連接,寧可用UDP去碰。

JavaScript技術關于B/S判斷瀏覽器斷開的問題討論,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 徐少强全部电影 | 译码器及其应用实验报告| 新红楼梦惊艳版| 电影《追求》| 李泽锋个人资料| midjourney中文版| 琪琪色影院| cctv16直播| 二年级53天天练语文上册答案| 密桃在线视频| 安微地图| 捷克女人性ⅹxxxx视频| 李歌洋演过的电视剧主角| 大奉打更人电视剧免费在线观看| 赵依芳| 性感瑜伽| 叶蓓个人资料简介| 红电视剧演员表| 釜山电影节| 贝瓦儿歌菊花开| 太原教育电视台| 拿什么拯救你我的爱人剧情简介| 爱播| 幼儿识字入门100字| 超英| 成龙版杨家将电影免费播放| 肥皂泡节选阅读理解答案三年级| 《西湖的绿》宗璞| 电影哪吒闹海| 寡妇的大乳bd高清| 《潜艇行动》免费观看| 浙江卫视节目表电视猫| 初三化学试卷| 日韩夫妻性生活视频| 一类生字和二类生字图| 首映式| 好心人| 《暗格里的秘密》免费观看| 好一个中国大舞台简谱| 4438x五月天| 张静初吴彦祖演的门徒|