首頁>Club>
26
回覆列表
  • 1 # 滴逃逃

    什麼是即時通訊?IM是英文Instant Messaging的縮寫,中文翻譯成“即時通訊”,根據美國著名的網際網路術語線上詞典NetLingo的解釋,其定義如下:“Instant Messaging(讀成I-M)縮寫為IM或IMing,它是一種使人們能在網上識別線上使用者並與他們實時交換訊息的技術,被很多人稱為電子郵件發明以來最酷的線上通訊方式,典型的 IM是這樣工作的:當好友列表(buddy list)中的某人在任何時候登入上線並試圖透過你的計算機聯絡你時,IM系統會發一個訊息提醒你,然後你能與他建立一個聊天會話並鍵入訊息文字進行交流。 IM被認為比電子郵件和聊天室更具有自發性,甚至你能在進行實時文字對話的同時一起進行WEB衝浪(surf)。目前有多種競爭的IM服務,不幸的是沒有標準:即你想與之進行即時通訊對話的人必須使用和你一樣的IM系統。另一個不利因素是IM還沒有為安全性使用目的而設計。”

    除NetLingo的定義之外,還有一些其他定義,但由於NetLingo在網際網路專業詞彙釋義方面具有比較大的影響,因此基本上都以此定義作為基礎,同時NetLingo是線上更新的詞典,它會經常針對網際網路技術的變化對詞彙釋義進行修改,在本文中對即時通訊的定義就是最新的,以前的定義中並沒有對標準化或者安全問題進行過相關說明。考慮到這些因素,本文將基於此定義進行研究。

    即時通訊的出現和網際網路有著密不可分的關係,從技術上來說,IM完全基於TCP/IP網路協議族實現,而TCP/IP協議族是整個網際網路得以實現的技術基礎,最早期的即時通訊雛形可以追溯到芬蘭人Jarkko Oikarinen於1988年發明的一種網路聊天協議IRC(Internet Relay Chat),該協議僅支援文字聊天,並且也不支援好友列表的概念,1996年第一個 IM產品ICQ發明後,即時通訊的技術和功能開始基本成型,其工作原理開始被人們所瞭解,但不同廠商實現即時通訊技術原理時採用的協議卻有較大的差異,甚至到目前為止世界主要的 IM服務運營商AOL(American Online:美國線上)仍然沒有公佈其主要即時通訊產品AIM(American Instant Messenger)的專用協議。雖然如此,但我們仍然可以從一個提供最基本服務的 IM系統開始來描述IM的技術原理,不管目前產品的新功能如何豐富,它必須遵循這些基本原理和結構。

    首先,使用者A輸入自己的使用者名稱和密碼登入即時通訊伺服器,伺服器透過讀取使用者資料庫來驗證使用者身份,如果使用者名稱、密碼都正確,就登記使用者A的IP地址、IM客戶端軟體的版本號及使用的TCP/UDP埠號,然後返回使用者A登入成功的標誌,此時使用者A在 IM系統中的狀態為線上(Online Presence)。

    其次,根據使用者A儲存在IM伺服器上的好友列表(Buddy List),伺服器將使用者A線上的相關資訊傳送到也同時線上的即時通訊好友的PC機,這些資訊包括線上狀態、IP地址、 IM客戶端使用的TCP埠(Port)號等,即時通訊好友PC機上的即時通訊軟體收到此資訊後將在PC桌面上彈出一個小視窗予以提示。

    第三步,即時通訊伺服器把使用者A儲存在伺服器上的好友列表及相關資訊回送到他的PC機,這些資訊包括也線上狀態、IP地址、IM客戶端使用的TCP埠(Port)號等資訊,使用者A的PC機上的IM客戶端收到後將顯示這些好友列表及其線上狀態。

    接下來,如果使用者A想與他的線上好友使用者B聊天,他將直接透過伺服器傳送過來的使用者B的IP地址、TCP埠號等資訊,直接向用戶B的PC機發出聊天資訊,使用者B的IM客戶端軟體收到後顯示在螢幕上,然後使用者B再直接回復到使用者A的PC機,這樣雙方的即時文字訊息就不透過 IM伺服器中轉,而是透過網路進行點對點的直接通訊,這稱為對等通訊方式(Peer To Peer)。在商用即時通訊系統中,如果使用者A與使用者B的點對點通訊由於防火牆、網路速度等原因難以建立或者速度很慢, IM伺服器還提供訊息中轉服務,即使用者A和使用者B的即時訊息全部先發送到IM伺服器,再由伺服器轉發給對方。早期的IM系統,在IM客戶端和IM伺服器之間通訊採用採用UDP協議,UDP協議是不可靠的傳輸協議,而在 IM客戶端之間的直接通訊中,採用具備可靠傳輸能力的TCP協議。隨著使用者需求和技術環境的發展,目前主流的即時通訊系統傾向於在即時通訊客戶端之間、即時通訊客戶端和即時通訊伺服器之間都採用TCP協議。

  • 中秋節和大豐收的關聯?
  • 白露團甘子清晨散馬蹄什麼意思?