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

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

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

      最近開始準(zhǔn)備用Java開發(fā)QQ,由于在大四的時候曾經(jīng)開發(fā)過一簡單的QQ聊天機(jī),現(xiàn)在想把它完善,使之盡量能夠用于實際應(yīng)用中。
       在開發(fā)之前,自己想(推理)了一下QQ的工作原理和一些實現(xiàn)細(xì)節(jié),發(fā)現(xiàn)自己想的、推理的和網(wǎng)上搜索到資料以及師兄的回答幾乎一致。
       下面就是我在網(wǎng)上所搜索的資料


    一、IM技術(shù)概念

      IM技術(shù)全稱Instant Messaging,中文翻譯“即時通訊”,它是一種使人們能在網(wǎng)上識別在線用戶并與他們實時交換消息的技術(shù),是電子郵件發(fā)明以來迅速崛起的在線通訊方式。IM的出現(xiàn)和互聯(lián)網(wǎng)有著密不可分的關(guān)系,IM完全基于TCP/IP網(wǎng)絡(luò)協(xié)議族實現(xiàn),而TCP/IP協(xié)議族則是整個互聯(lián)網(wǎng)得以實現(xiàn)的技術(shù)基礎(chǔ)。 最早出現(xiàn)即時通訊協(xié)議是IRC(Internet Relay Chat),但是可惜的是它僅能單純的使用文字、符號的方式通過互聯(lián)網(wǎng)進(jìn)行交談和溝通。隨著互連網(wǎng)變得高度發(fā)達(dá),即時通訊也變得遠(yuǎn)不止聊天這么簡單,自1996年第一個IM產(chǎn)品ICQ發(fā)明后,IM的技術(shù)和功能也開始基本成型,語音、視頻、文件共享、短信發(fā)送等高級信息交換功能都可以在IM工具上實現(xiàn),于是功能強(qiáng)大的IM軟件便足以搭建一個完整的通信交流平臺。目前最具代表性的幾款的IM通訊軟件有MSN、Google Talk、Yahoo、Messenger 、騰訊QQ等。 

     二、IM技術(shù)原理和工作方式

      典型的IM工作方式如下:登陸IM通訊中心(IM通訊服務(wù)器),獲取一個自建立的歷史的交流對象列表(好友列表),然后自身標(biāo)志為在線狀態(tài),當(dāng)好友列表中的某人在任何時候登錄上線并試圖通過你的計算機(jī)聯(lián)系你時,IM系統(tǒng)會發(fā)一個消息提醒你,然后你能與他建立一個聊天會話通道進(jìn)行各種消息如鍵入文字、通過語音等的交流,  從技術(shù)上來說,IM的基本技術(shù)原理如下:  IM服務(wù)器  登陸或注銷 登陸或注銷  用戶A通過列表找到B,用戶B獲得的消息并與之交談  通過IM服務(wù)器指引建立與B單獨(dú)的通訊通道  第一步,用戶A輸入自己的用戶名和密碼登錄IM服務(wù)器,服務(wù)器通過讀取用戶數(shù)據(jù)庫來驗證用戶身份,如果驗證通過,登記用戶A的IP地址、IM客戶端軟件的版本號及使用的TCP/UDP端口號,然后返回用戶A登錄成功的標(biāo)志,此時用戶A在IM系統(tǒng)中的狀態(tài)為在線(Online Presence)。  第二步,根據(jù)用戶A存儲在IM服務(wù)器上的好友列表(Buddy List),服務(wù)器將用戶A在線的相關(guān)信息發(fā)送給也同時在線的IM好友的PC機(jī),這些信息包括在線狀態(tài)、IP地址、IM客戶端使用的TCP端口(Port)號等,IM好友的客戶端收到此信息后將在予以提示。  第三步是IM服務(wù)器把用戶A存儲在服務(wù)器上的好友列表及相關(guān)信息回送到他的客戶端機(jī),這些信息包括也在線狀態(tài)、IP地址、IM客戶端使用的TCP端口(Port)號等信息,用戶A的IM客戶端收到后將顯示這些好友列表及其在線狀態(tài)。  


     三、IM通訊方式  
    1.在線直接通訊  如果用戶A想與他的在線好友用戶B聊天,他將直接通過服務(wù)器發(fā)送過來的用戶B的IP地址、TCP端口號等信息,直接向用戶B的PC機(jī)發(fā)出聊天信息,用戶B的IM客戶端軟件收到后顯示在屏幕上,然后用戶B再直接回復(fù)到用戶A的PC機(jī),這樣雙方的即時文字消息就不再IM服務(wù)器中轉(zhuǎn),而是直接通過網(wǎng)絡(luò)進(jìn)行點(diǎn)對點(diǎn)的通訊,即對等通訊方式(Peer To Peer)。  
    2.在線代理通訊  用戶A與用戶B的點(diǎn)對點(diǎn)通訊由于防火墻、網(wǎng)絡(luò)速度等原因難以建立或者速度很慢,IM服務(wù)器將會主動提供消息中轉(zhuǎn)服務(wù),即用戶A和用戶B的即時消息全部先發(fā)送到IM服務(wù)器,再由服務(wù)器轉(zhuǎn)發(fā)給對方。 
    3.離線代理通訊  用戶A與用戶B由于各種原因不能同時在線的時候,如此時A向B發(fā)送消息,IM服務(wù)器可以主動寄存A用戶的消息,到B用戶下一次登陸的時候,自動將消息轉(zhuǎn)發(fā)給B。  
    4.擴(kuò)展方式通訊  用戶A可以通過IM服務(wù)器將信息以擴(kuò)展的方式傳遞給B,如短信發(fā)送方式發(fā)送到B的手機(jī),傳真發(fā)送方式傳遞給B的電話機(jī),以email的方式傳遞給B的電子郵箱等。  早期的IM系統(tǒng),在IM客戶端和IM服務(wù)器之間通訊采用UDP協(xié)議,UDP協(xié)議是不可靠的傳輸協(xié)議,而在IM客戶端之間的直接通訊中,采用具備可靠傳輸能力的TCP協(xié)議。隨著用戶需求和技術(shù)環(huán)境的發(fā)展,目前主流的IM系統(tǒng)傾向于在IM客戶端之間、IM客戶端和IM服務(wù)器之間都采用TCP協(xié)議。  即時通訊相對于其他通訊方式如電話、傳真、email等的最大優(yōu)勢就是消息傳達(dá)的即時性和精確性,只要消息傳遞雙方均在網(wǎng)絡(luò)上可以互通,使用即時通訊軟件傳遞消息,傳遞延時僅為1秒種  


    四、興起的嵌入式IM工具。 
       傳統(tǒng)的IM在統(tǒng)治了互聯(lián)網(wǎng)即時通訊領(lǐng)域長達(dá)十年之久,以其日趨穩(wěn)定的定能,與較強(qiáng)的用戶黏著度,至今仍統(tǒng)治著這個巨大的市場。然而,軟件行業(yè)的技術(shù)精英們,并不滿足于此。他們厚積薄發(fā),一直致力于開發(fā)出性能更為優(yōu)越的即時通訊工具。當(dāng)然,在功能上的不斷完善,自然是一個必然的發(fā)展方向,在Web2.0時代,如何大力增強(qiáng)用戶對網(wǎng)站的黏著度,而不僅僅是對于IM的擁附,已經(jīng)成為他們的主攻方向了。于是,嵌入式IM工具,應(yīng)運(yùn)而生了。  

      相對以往的傳統(tǒng)的即使溝通工具,它們需要用戶下載軟件包,需要用戶進(jìn)行安裝。對于擁有IM產(chǎn)品的網(wǎng)站而言,用戶在登陸網(wǎng)站后,不能直接使用其IM工具,對于流量與用戶的黏著度,都是有一定影響的。因此在IM與網(wǎng)站相互依存的今天,沒有哪家網(wǎng)絡(luò)公司,愿意將IM工具孤立開來。    于是,目前,一種新型的嵌入式IM工具就應(yīng)運(yùn)而生了。這種IM工具,不需要下載安裝,當(dāng)用戶登陸網(wǎng)頁后,該IM直接嵌套在網(wǎng)頁中,可以直接使用。   
     而在功能上,則一點(diǎn)也不輸于傳統(tǒng)的IM,無論是傳統(tǒng)的文字溝通的速度與效率,還是近年來越來越成為IM工具必備的音頻/視頻功能,這種嵌入式IM都能提供非常穩(wěn)定的傳輸。更值得一提的是,因為嵌入式IM是嵌套在網(wǎng)頁上的,軟件供應(yīng)商,可以根據(jù)網(wǎng)站需求,設(shè)計出適合網(wǎng)站風(fēng)格的IM產(chǎn)品。而不是像傳統(tǒng)的IM工具,千篇一律,毫無個性可言。   
     目前,這類嵌入式IM在社區(qū)、交友、社團(tuán)及協(xié)作等類型的網(wǎng)站上,應(yīng)用已經(jīng)較為廣泛。在Web2.0時代,將發(fā)揮越來越重要的作用。

    posted on 2008-08-29 13:06 李威威 閱讀(4702) 評論(3)  編輯  收藏
    Comments
    • # re: QQ原理
      renrui
      Posted @ 2009-01-12 11:50
      通過IM服務(wù)器指引建立與B單獨(dú)的通訊通道,這個通道怎么建立?通過線程?  回復(fù)  更多評論   
    • # re: QQ原理
      李威威
      Posted @ 2009-03-31 23:09
      不好意思,很久沒來博客了,因工作原因目前暫時沒有學(xué)習(xí)java了,不過有時間還是會繼續(xù)學(xué)習(xí)深入的,至于“通過IM服務(wù)器指引建立與B單獨(dú)的通訊通道,這個通道怎么建立?通過線程” ,還沒有深入到這個問題,可以互相交流學(xué)習(xí)進(jìn)步,謝謝你的關(guān)注  回復(fù)  更多評論   
    • # re: QQ原理[未登錄]
      abc
      Posted @ 2012-05-20 14:33
      太籠統(tǒng),沒實際價值  回復(fù)  更多評論   

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


    網(wǎng)站導(dǎo)航:
     
     
    主站蜘蛛池模板: 久久不见久久见免费视频7| 中国一级特黄的片子免费| 国产免费的野战视频| 亚洲第一中文字幕| 无码国产精品一区二区免费16| 亚洲日韩欧洲乱码AV夜夜摸| 国产精品免费一区二区三区| 国产亚洲精品高清在线| 成人免费一区二区三区| 亚洲国产三级在线观看| 久久国产乱子伦精品免费一| 久久精品国产精品亚洲艾 | 色吊丝免费观看网站| 免费国产成人高清视频网站| 免费很黄无遮挡的视频毛片| 亚洲成a人片在线观看国产| 国产免费高清69式视频在线观看| 亚洲欧洲日产国码无码久久99| 免费精品一区二区三区第35| 亚洲最新在线视频| 在线观看国产情趣免费视频| 免费夜色污私人影院网站| 亚洲日韩精品无码一区二区三区| 久9这里精品免费视频| 亚洲精品韩国美女在线| 免费看片免费播放| 久久久久久久久久久免费精品| 亚洲AV无码一区东京热| 免费精品国产自产拍在| 午夜亚洲国产理论片二级港台二级| 亚洲国产婷婷综合在线精品 | 最好免费观看韩国+日本| 一级黄色免费毛片| 亚洲综合国产精品| 国产福利免费在线观看| 99re6在线视频精品免费| 亚洲小视频在线播放| 亚洲国产成人影院播放| 96免费精品视频在线观看| 亚洲变态另类一区二区三区| 国产亚洲无线码一区二区|