林鴻在郵件中明確地告訴他,自己想要編寫一個基於IRC協議上的軟體,想要IRC協議的細節。
原本還要等上一段時間,卻沒想到不到半個小時就收到了作者的回信。
雅爾口對於有人加入到IRC協議軟體開發的行為感到非常高興,對於每一個人,他都會盡自己最大的努力去幫助別人,提供便利。
在郵件中,他給林鴻發來了詳細的協議技術細節,而且還包括最新的升級版本,包括頻道加密和更便利的檔案共享功能。
原本,林鴻只想編寫一個用於團隊內部進行交流的溝通軟體,這樣,只需要有一個伺服器端就行了,其他的都作為客戶端和伺服器端連線。
但是閱讀了雅爾口的最新IRC協議之後,他決定擴充一下之前所構想的軟體功能,不侷限於一個伺服器端,而是多個,即在軟體中同時整合伺服器端和客戶端。也就是說,每一個使用者都可以將自己作為中繼伺服器,給大家提供服務。並且,伺服器端之間也可以進行通聯。
實際上,這種架構和業餘無線電非常相似。在無線電通訊中,有一種特殊電臺稱為“無線中繼臺”,能實現訊號的中繼和放大;從而延伸無線電網路的覆蓋範圍。
在無線電發明的早期,人們還沒有發現短波訊號的遠距離傳播特性,而中、長波無線電地波通訊因為大地吸收損耗,距離有限。早期的業餘無線電愛好者就透過人工中轉的辦法來擴大通訊範圍。原理和接力一樣,透過火腿志願者地熱心幫助,火腿們可以僅僅透過長波就可以將無線電訊號送至大洋彼岸,甚至地球的另外一端
林鴻決定修改架構,讓每一個客戶端都同時具備“中繼臺”功能,從而可以極大地增強整個即時通訊系統的穩定性。因為如果僅僅只有一個伺服器端的話,一旦這臺伺服器由於某種原因出現問題,那麼其他人之間的通訊就會根本無法進行。
而重新設計之後的架構則不會如此,如果其中一個節點損壞,訊息還是可以透過另外一個節點傳輸到目的地。這其中資訊傳輸的路徑從理論上來講有無數條,只要透過最短路徑演算法找出最短的那條即可。
至於編寫這個軟體的語言,林鴻最終選擇了C語言,他在剛開始的時候就考慮到了跨平臺的需要,目前他所接觸到的高階語言中,只有C語言能夠滿足這個要求。(未完待續。)
第一百八十四章 CQCQ
第一百八十四章cqcq
林鴻一向都是說做就做的性格,在得到通訊協議的當天晚上,他就將軟體的原型給做出來了。他將其命名為“cqcq”;取自無線電臺裡面呼叫術語“cq”。並且按照軟體版本控制的規則,他將現在的版本定位v0。01版。
當然,剛剛開始的時候功能還很簡單,只能進行點對點的通訊,這種軟體在區域網中比較有用,因為區域網一般計算機的數量有限,只要對將所有可能的ip都搜尋一遍(通常是都ping一遍),如果發現有計算機線上,於是便嘗試著傳送訊息進行連線,一旦有回應,則表示這臺計算機上也啟動了同樣的軟體。
但是,對於整個網際網路來說,這個功能就有點難辦了。必須得知道對方的ip地址才行,否則全世界這麼多ip,按照順序掃過去,不知道要掃描多久才能夠找到同樣線上並且執行了同樣軟體的計算機。
不過,第二天的時候,當林鴻興致勃勃地將這個訊息告訴亞瑟和馬修的時候,他們對此卻並不怎麼感興趣。
“那個xaric不錯啊,功能也能夠滿足我們的需求,沒必要再另外開發一個了吧?”馬修道。
“嗯,我也覺得另外開發沒必要。”亞瑟也覺得那個軟體用得比較趁手。
“這個……”林鴻滿腔熱情猶如突然之間被一盆冷