亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

推技術聊天室的實現(上)

2019-11-18 11:35:18
字體:
來源:轉載
供稿:網友

  基于推技術的聊天室在國內現在已經比較常見。這種聊天室最大的特點是不使用瀏覽器每格一段時間就刷新的方式,而讓服務器不定時往客戶端寫聊天的內容。當有人發言時,屏幕上才會出現新聊天內容,而且聊天內容是不斷向上滾動的,假如瀏覽器狀態欄在的話,可以看到進度條始終處于下載頁面狀態。即使這種聊天室容納上百人,性能不會明顯的降低。而以往的CGI或活動服務器端腳本做的聊天室性能明顯就不行了。

  推技術的聊天室聊天室基本原理是,不使用HTTPD服務器程序,由自己的Socket程序監聽服務器的80端口,根據Html規范,在接收到瀏覽器的請求以后,模擬www服務器的響應,將聊天內容發回瀏覽器。在瀏覽器看來就象瀏覽一個巨大的頁面一樣始終處于頁面接收狀態。也就是說,我們不再使用CGI等方式來處理聊天的內容,而采用我們自己的程序來處理所有的事務。實際上它就是一個專門的聊天服務器,即一個簡化了的專門用于聊天的WWW服務器。

  在具體討論程序的實現之前,我們先來解析一下相關的技術。

◆http請求和應答過程

  http協議是瀏覽器與WWW服務器之間通信的標準,Socket聊天服務器應當遵守這個協議。實際上,我們只需要使用其中的一小部分就可以了。

  http使用了C/S(客戶/服務器)模式,其中瀏覽器是http客戶,瀏覽某個頁面實際上就是打開一個Socket連接,發送一個請求到WWW服務器,服務器根據所請求的資源發送應答給瀏覽器,然后關閉連接??蛻艉头掌髦g的請求和應答有一定的格式要求,只要按照這個格式接收請求發送應答,瀏覽器就會正常的顯示你所需要的的內容。

  請求和應答具有類似的結構,包括:

  · 一個初始行

  · 0個或多個header lines

  · 一個空行

  · 可選的信息

  我們看看一個瀏覽器發出的請求:

  當我們瀏覽網頁http://www.somehost.com/path/file.html的時候,瀏覽器首先打開一個到主機www.somehost.com的80端口的socket,然后發送以下請求:

  GET /path/file.html HTTP/1.0

  From: someuser@somehost.com

  User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.0; DigExt)

  [空行]

  第一行GET /path/file.html HTTP/1.0是我們需要處理的核心。由以空格分隔的三部分組成,方法(method):GET,請求資源:/path/file.html,http版本:HTTP/1.0。

  服務器將會通過同一個socket用以下信息回應:

  HTTP/1.0 200 OK

  Date: Fri, 31 Dec 1999 23:59:59 GMT

  Content-Type: text/html

  Content-Length: 1354

 ?。糷tml>
 ?。糱ody>
 ?。糷1>Hello world!</h1>
(其他內容)...
 ?。?body>
  </html>

  第一行同樣也包括三部分:http版本,狀態碼,與狀態碼相關的描述。狀態碼200表示請求成功。
  發送完應答信息以后,服務器就會關閉socket。
◆服務器模型

  一般網絡服務器主要分為兩種:

 ?。?)循環服務器(iterative server):它是一個時刻只能處理一個請求的服務器,多個請求同時到來將會放在請求隊列里。TCP套接字服務器一般很少采用循環方式,因為假如某個客戶和服務器的連接出了問題,會導致整個服務器掛掉。它常為UDP套接字服務器所采用。

 ?。?)并發服務器(concurrent server):在每個請求到來以后分別產生一個新進程來處理這個請求所產生的連接。TCP的Socket服務器大多采用并發方式提供服務。

  并發服務器有多種實現方法:

  i 服務器和每個接收到的客戶機進行連接,創建一個新的子進程處理這個客戶機請求。

  ii 服務器預先創建多個子進程,由這個子進程處理客戶機請求。這種方式被稱為“預創建(PRefork)”服務器。

  iii 服務器用函數select實現對多個客戶機連接的多路復用。

  iv 超級服務器(inet)激活的服務器。

  并發服務器由于其算法而具有與生俱來的快速響應優勢,而且當某一個用戶與服務器通信死鎖不會影響其他進程,但由于多個進程之間需要通過進程間通信實現信息交換,而且fork新進程所帶來的開銷隨著用戶數量的增加越來越大,因此原始的并發服務器并不一定是最好的選擇。java語言給我們帶來的方便的線程機制,使我們可以用多線程來代替多進程,實現并發服務器,為我們進行快速的商業版本的聊天室的開發提供了優勢。

  值得注重的是,在linux下,JAVA并沒有實現真正的多線程,本質上仍然是多進程。

  ◆POST與GET

  提交form表單信息一般常用的有兩種:POST或者GET。POST由于長度不受限制,而作為大多數form提交時使用的方法。GET方法通過URL來發送提交信息,由于URL被WWW服務器限制了長度,一般最長只能為1024字節,所以假如發送信息很長的話,就不能使用這種方法。
  由于我們對聊天內容有長度限制,不會太長,而且普通瀏覽頁面使用GET方法,使用GET方法提交form表單可以簡化處理過程,所以我們可以使用這種方法來提交聊天內容。

  我們感到美中不足的是GET方法將提交的內容簡單的附在連接后邊,我們假如能夠將提交的內容進行HTML編碼的話,就可以讓客戶舒適點了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情亚洲综合一区| 国产精品久久久久久亚洲影视| 日韩美女视频免费在线观看| 亚洲欧美日韩一区在线| 黄色成人在线播放| 成人在线播放av| 国外成人在线播放| 一区二区亚洲精品国产| 精品成人乱色一区二区| 日韩电影中文字幕在线| 少妇高潮久久77777| 精品久久久久久久久久| 国产精品色午夜在线观看| 国产精品久久久久久久久久99| 成人免费淫片视频软件| 日韩国产在线播放| 91网在线免费观看| 中文字幕精品一区久久久久| 国产视频久久网| 欧美特黄级在线| 国产一区二区三区免费视频| 欧美大片免费观看在线观看网站推荐| 少妇精69xxtheporn| 日本精品久久久| 欧美日韩激情小视频| 97高清免费视频| 欧美亚洲成人精品| 亚洲社区在线观看| 日韩中文字幕免费看| 这里只有精品丝袜| 日韩欧美黄色动漫| 亚洲国产私拍精品国模在线观看| 日韩一级黄色av| 午夜精品一区二区三区在线视| 国产精品一区二区av影院萌芽| 精品综合久久久久久97| 成人啪啪免费看| 欧美日韩国产在线播放| 色诱女教师一区二区三区| 动漫精品一区二区| 国产成人一区二| 欧美最顶级的aⅴ艳星| 国产美女被下药99| 亚洲小视频在线观看| 色综合天天狠天天透天天伊人| 成人综合国产精品| 久久噜噜噜精品国产亚洲综合| 亚洲国产精品99久久| 国产美女直播视频一区| 日本中文字幕成人| 国产一区二区三区网站| 欧美午夜精品久久久久久人妖| 欧美精品久久久久a| 亚洲国产成人精品电影| 久久综合88中文色鬼| 精品人伦一区二区三区蜜桃网站| 日韩a**中文字幕| 欧美视频一区二区三区…| 久久精品中文字幕电影| 国产精品69精品一区二区三区| 成人精品一区二区三区电影黑人| 久青草国产97香蕉在线视频| 欧美国产日韩精品| 精品自拍视频在线观看| 欧美日韩国产精品一区| 这里只有精品视频| 不卡伊人av在线播放| 国产婷婷成人久久av免费高清| 国产精品美乳在线观看| 77777亚洲午夜久久多人| 日韩精品久久久久| 日韩电影大片中文字幕| 亚洲2020天天堂在线观看| 国产视频在线观看一区二区| 欧美夜福利tv在线| 亚洲深夜福利视频| 久久国产精品99国产精| 欧美日韩一区二区在线播放| 欧美性理论片在线观看片免费| 国产69精品99久久久久久宅男| 国产一区二区三区高清在线观看| 美女福利视频一区| 亚洲午夜国产成人av电影男同| 国产精品美女免费视频| 久久久久久久久爱| 日韩欧美精品在线观看| 日韩成人中文字幕| 综合136福利视频在线| 日韩中文字幕免费| 欧美精品一区三区| 精品av在线播放| 日韩欧美高清视频| 亚洲男人天堂网站| 亚洲精品一区二区网址| 午夜精品久久久久久久99热| 国产精品久久视频| 91久久精品一区| 精品成人69xx.xyz| 久久久人成影片一区二区三区| 欧美性视频网站| 国产精品第一页在线| 国产精品成人一区二区三区吃奶| 韩曰欧美视频免费观看| 国产一区二区三区在线看| 久久精品色欧美aⅴ一区二区| 精品亚洲一区二区三区四区五区| 精品国产老师黑色丝袜高跟鞋| 久久99热这里只有精品国产| 精品高清美女精品国产区| 青青草原成人在线视频| 欧美色图在线视频| 精品欧美激情精品一区| 国产一区二区三区久久精品| 国产偷亚洲偷欧美偷精品| 欧美日韩另类视频| 日本一区二区在线播放| 欧美高清在线观看| 欧美激情第99页| 中文字幕日韩精品在线| 国产成人高清激情视频在线观看| 疯狂欧美牲乱大交777| 国产91在线播放精品91| 97超碰蝌蚪网人人做人人爽| 国产精品成人国产乱一区| 欧美成人四级hd版| 国产精品99久久久久久人| 亚洲国产精品高清久久久| 欧美精品精品精品精品免费| 亚洲欧洲自拍偷拍| 亚洲视频在线观看免费| 亚洲午夜精品久久久久久性色| 欧美国产欧美亚洲国产日韩mv天天看完整| 久久久亚洲成人| 国产一区二区三区毛片| 欧美日韩国产丝袜另类| 国产亚洲精品美女久久久久| 久久国产精品影片| 亚洲娇小xxxx欧美娇小| 成人免费看片视频| 精品久久中文字幕久久av| 一区二区成人精品| 美女扒开尿口让男人操亚洲视频网站| 亚洲xxx大片| 亚洲国产成人精品久久久国产成人一区| 亚洲永久在线观看| 亚洲精品美女久久| 精品日韩中文字幕| 亚洲精品自拍第一页| 中文字幕日韩av| 亚洲男人天堂视频| 国产精品久久久久免费a∨大胸| 精品高清一区二区三区| 欧美插天视频在线播放| 国产国语刺激对白av不卡| 久久久国产影院| 国产精品91一区| 日韩女在线观看| 精品久久久久久国产91| 亚洲图片欧美日产| 亚洲性xxxx| 97视频人免费观看| 亚洲最大中文字幕| 欧美孕妇与黑人孕交| 日韩av中文字幕在线免费观看|