IRC (互聯網中繼聊天)

詳見百度百科:   http://baike.baidu.com/view/10525.htm


IRC是Internet Relay Chat 的英文縮寫,中文一般稱爲互聯網中繼聊天。它是由芬蘭人Jarkko Oikarinen於1988年首創的一種網絡聊天協議。經過十年的發展,目前世界上有超過60個國家提供了IRC的服務。IRC的工作原理非常簡單,您只要在自己的PC上運行客戶端軟件,然後通過因特網以IRC協議連接到一臺IRC服務器上即可。它的特點是速度非常之快,聊天時幾乎沒有延遲的現象,並且只佔用很小的帶寬資源。所有用戶可以在一個被稱爲\"Channel\"(頻道)的地方就某一話題進行交談或密談。每個IRC的使用者都有一個Nickname(暱稱)。


中轉

我們來做一個比較說明. 假設,A 與 B 要交談. 如果不採用中轉,那麼 A 直接建立一條到達 B 的通信隧道,二者通過這條通信隧道進行信息交流,信息流的方向爲: A->B 和 B->A; 如果採用中轉,則需要有一個第三方來擔任中轉角色,設爲 C,A 建立一條到達 C 的通信隧道,B 也建立一條到達C 的通信隧道,然後 A 與 B 通過 C 來間接進行通信,信息流的方向爲:
A->;C->;B 和 B->;C->;A
C 就起着 A 與 B 間的中轉站的作用. 中轉有什麼優點呢? 中轉的最大優點是使"羣聊"能夠方便地進行. 恰當地說,中轉模式爲信息廣播提供了方便. 我們來舉例子. 假設 A,B 和 D 三者要一起聊天. 如果沒有 C 的中轉,那麼 A 要將所說的每句話分別發給 B 和D; 如果有 C 做中轉,那麼 A 將所說的話發給 C,然後 C 將 A 的話分別發給 B 和 D. 可見,當沒有中轉時,每個參與聊天的計算機都要執行信息廣播的任務,當存在中轉時,信息廣播的任務全由中轉者來執行.中轉站 C 的存在使得信息交流過程中的工作任務發生分離,可以把網絡環境好、機器配置高的計算機作爲中轉站來提供服務功能. 這就形成了IRC 的服務器-客戶端 模型,聊天者作爲客戶端,連接到中轉站服務器上.


服務器網絡

在上面的例子裏,只有一箇中轉者 C 來承擔服務. 當聊天者數量很多時,會使 C 不堪重負. 解決的辦法是,使用多個服務器,服務器之間互相連接成網絡,把聊天者分散到各個服務器上. 服務器網絡以樹型結構互相連通. 聊天者可以任選一個服務器連接. 舉例來說,在北京建立一個 IRC 服務器,稱爲 BJ,在上海建立一個 IRC 服務器,稱爲 SH,然後將 BJ 和 SH 連接起來,組成一個只有兩個服務器的 IRC 網絡. 北京的用戶連接到 BJ 上,上海的用戶連接到 SH 上,這樣北京的用戶就可以與上海的用戶聊天了. 其他地區的用戶可以根據地理位置的遠近選擇使用BJ 或 SH 服務器. 概括地說,聊天網絡上的每個服務器都是一箇中轉站,當它從一個服務器或客戶收到一條消息時,就將該消息轉發給其它服務器,同時也根據具體情況,決定是否將消息轉發給連接到自己的用戶.


頻道

頻道的本質是廣播組. 用戶可以進入一個頻道,也可以離開一個頻道. 當一個用戶朝頻道說話時,頻道里的其他用戶都能收到他的話(由服務器中轉). 當第一個用戶進入頻道時,頻道被創建,當最後一個用戶離開頻道時,頻道被取消. 因此,從用戶的角度看,頻道就是聊天室. 下面說說頻道之所以被稱爲"頻道"的原因. 如果一個聊天網絡有多個服務器,頻道要由服務器共同維護. 舉一個例子. 有三個服務器,連接方式爲 A-B-C. 在 服務器A上,有第一個用戶進入 #IRC 頻道,這時,服務器A上即創建頻道"#IRC",A 將頻道 "IRC" 的創建消息發給 B 和 C. 由於 B 和 C 上都沒有用戶位於 #IRC 頻道,因此不執行任何操作. 在這以後,服務器C上有 一個用戶進入 #IRC 頻道,此時服務器C上也創建頻道 "#IRC",C 將"#IRC" 的創建消息發給 A 和 B. 之後,需要執行以下操作: B 上建立頻道 "#IRC" 並將 A 與 C 的 "#IRC" 頻道連接起來,組成一個統一的#IRC . 現在,雖然 B 上沒有用戶位於 #IRC 頻道內,但是 B 上也開通了 #IRC 頻道. 可見,頻道好像一條通信管道,將所有開通此頻道的服務器貫穿起來,信息流在這個管道中流通.


請求與應答

IRC上的信息交流採用請求與應答的模式. 請求是由服務器或客戶端發出的,其目的是請求(另)一個服務器執行某個操作或提供某些信息; 應答是服務器對一個請求的迴應信息. 請求通常被稱爲命令; 由於對每種應答都規定了一個三位數字做標識,應答也稱爲數字應答(numeric reply).

發佈了31 篇原創文章 · 獲贊 7 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章