設置
上一章
下一章
書頁

第一百八十四章 即時通信軟件

請牢記域名:黃金屋 超腦黑客

  網站上線之后,馬修、亞瑟和皮森三個人將這個消息告訴了自己經常聯系的朋友,由于他們以前平時在學校并不是很受歡迎,他們的朋友也大多都是在技術類BBS上認識的。

  然而,馬修他們還是低估了大家對SAM協會官方BBS的期待感。

  到晚上十二點半的時候,林鴻突然發現TELNET客戶端提示無法連接到服務器。

  “難道被入侵了?”這是林鴻的第一個想法。

  上面提示的信息,主要意思是由于連接數過多而拒絕服務。

  他嘗試了幾次,發現還是如此。

  這個時候,亞瑟也再次敲響了他的房門,結果被告知,他那邊也一樣。

  出現這種情況有兩種可能,一種就是被人黑了,導致服務器拒絕服務,另外一種則是真的訪問的人數過多,服務器過載,無法承擔這么多人訪問。

  亞瑟連忙給馬修打了個電話,詢問他那邊的情況,結果他說能夠訪問,不過速度非常緩慢。

  林鴻再次嘗試了幾次之后,終于重新登錄進去,內容刷新的速度的確非常慢。

  然后,亞瑟讓他登錄到BBS的管理后臺,看了一下統計人數,結果顯示有同時超過一千人在線。

  結果很明了了,網站出現故障,是因為一時間訪問人數過多,而服務器只有一根線路,一時間無法承擔這么多人同時刷新訪問,這才提示錯誤。

  他們根本沒想到,僅僅是因為之前他們和自己的朋友宣傳了一下自己的網站,結果一傳十,十傳百,大家一窩蜂地都涌了進來。

  這種情況讓SAM小組的成員又驚又喜,馬修已經在考慮是不是有必要要增加線路了。

  好在這一撥流量浪潮來得快也去得快,很快BBS就恢復了正常訪問,而這個時候,論壇中已經出現了很多回帖和新帖。

  尤其是林鴻發布的那片教程,受到了很多人的稱贊,不少人都表示,響應林鴻的號召,開始著手破解自己手中不是德州儀器品牌的其他計算器。

  在接下來幾天中,SAM小組開始了緩慢擴張的步伐。

  很多人都在論壇中提交了自己的作品,并且希望加入SAM協會,成為這個小組當中的一員。

  不過,馬修對會員的控制倒是蠻嚴格的,在達到標準的幾十個人當中,只挑選了五人,然后再召開協會會議,大家對這五人進行討論,再淘汰了兩人之后,SAM協會便有了7名成員。

  考慮到懂硬件方面的人比較少,新增加的三位當中,有兩位是對硬件比較精通的。并且這三人都不是拉丁學校的成員,其中一位還是麻省理工學院的大學生。

  由于有了其他人的加入,林鴻的工作大為減輕,他這幾天都在研究即時通訊軟件方面的內容。

  上次他就已經注意到,因為系統平臺的不同,他和其他幾位成員交流起來有點困難,因為他的計算機操作系統是微軟的DOS,而其他三個都是蘋果公司的,連硬件架構都不同,更別說操作系統以及應用軟件了。

  現在又有新的成員加入,并且還不是同一個學校的,平時他們進行交流溝通的時候,就出現了困難。急需一款能夠跨平臺的即時聊天軟件,并且最好是能支持多人同時聊天的。

  林鴻這些天都在查找這方面的資料,途徑主要是學校圖書館和互聯網。

  他了解到,即時通訊軟件實際上早在六十年代就已經出現了,剛開始的時候是出現在多用戶操作系統中,例如CTSS(兼容分時)系統和Multics(Unix的前身)操作系統。

  最初的時候,即時通信功能是被用來作為系統服務而開發的,例如“打印”或者“郵件”進程,普通用戶和系統管理員之間,通常會用短信息或通知進行信息交流。

  后來,開始用于局域網各計算機之間的通信。例如,林鴻第一次在學校機房上課的時候,亞瑟入侵他的計算機,使用的就是操作系統中自帶的這樣一個局域網通信功能。

  互聯網興起之后,這些協議通信協議被越來越多的技術人員所了解,逐漸在各大主流操作系統上出現了一些即時通信軟件。這些軟件使用協議基本可以分為兩種協議架構,一類是基于點對點,也即客戶端和客戶端直接進行通聯,另外一類則需要客戶端和服務器聯系,然后再由服務器進行中級轉發。

  點對點的通訊比較簡單,就和打電話一樣,必須兩人同時在線才能進行聯系,如果有一方網絡并不是很好,或者對方并不在線的話,通訊顯然就不能進行。還有一點,點對點通信只能同時和一個人進行通聯。

  而服務器和客戶端的架構,這類似BBS,有一臺專門的服務器作為“中央樞紐”,大家都和這個“中央樞紐”聯系,例如告訴他,我要發信息給某某,麻煩幫我轉發一下。這樣,就算對方當時不在線,等對方在線的時候,服務器再發給他也行,這就是延遲發送。

  并且,第二種架構還有一個優點,那就是可以進行群聊,一個人對多人發送信息,讓建立聊天室有了可能。

  亞瑟和馬修之前進行聯系的那個名為Xaric的通信軟件,就是建立在這個架構之上。

  林鴻專門針對這個軟件進行了研究,發現這個軟件所使用的協議是IRC協議。

  這個協議是1988年由芬蘭人雅爾口歐伊卡林恁開發出來的,是一個互聯網實時文本消息協議,是專門為了BBS或團體成員之間進行內部溝通交流而設計的,允許點對點,也允許一對多,甚至還包括了文件共享方面的內容。

  林鴻了解了一下,發現這個協議是公開的,也就是說向所有人都免費開放,就像是其他常見的TCP/IP,UDP,FTP協議那樣,可以隨意使用,無論是用于商業用途和個人用途。

  林鴻對其心生佩服,在科學技術的發展史上,不知道有多少這樣的人做著貢獻,從最開始的電子技術、無線電技術、到現代的電話技術、計算機技術,正是有著這些技術前輩們的無私奉獻,做著基礎方面的建設,才能夠逐漸發展到今天。

  林鴻心中琢磨著,這個軟件自己編寫出來之后,也免費給大家使用,貢獻一份自己的力量。

  林鴻之前去學校圖書館找了一下,并沒有看到有關IRC協議方面的資料,后來他又問了一下亞瑟和馬修,他們兩個也不知道到哪里能找到這方面資料。

  后來他不得不去一些技術論壇進行詢問,最終終于有一個人告訴他一個BBS討論組的地址,林鴻登錄到那個討論組,最終找到了原作者的EMAIL地址,于是他向原作者雅爾口嘗試著發了一封郵件,林鴻在郵件中明確地告訴他,自己想要編寫一個基于IRC協議上的軟件,想要IRC協議的細節。

  原本還要等上一段時間,卻沒想到不到半個小時就收到了作者的回信。

  雅爾口對于有人加入到IRC協議軟件開發的行為感到非常高興,對于每一個人,他都會盡自己最大的努力去幫助別人,提供便利。

  在郵件中,他給林鴻發來了詳細的協議技術細節,而且還包括最新的升級版本,包括頻道加密和更便利的文件共享功能。

  原本,林鴻只想編寫一個用于團隊內部進行交流的溝通軟件,這樣,只需要有一個服務器端就行了,其他的都作為客戶端和服務器端連接。

  但是閱讀了雅爾口的最新IRC協議之后,他決定擴充一下之前所構想的軟件功能,不局限于一個服務器端,而是多個,即在軟件中同時集成服務器端和客戶端。也就是說,每一個用戶都可以將自己作為中繼服務器,給大家提供服務。并且,服務器端之間也可以進行通聯。

  實際上,這種架構和業余無線電非常相似。在無線電通信中,有一種特殊電臺稱為“無線中繼臺”,能實現信號的中繼和放大,從而延伸無線電網絡的覆蓋范圍。

  在無線電發明的早期,人們還沒有發現短波信號的遠距離傳播特性,而中、長波無線電地波通信因為大地吸收損耗,距離有限。早期的業余無線電愛好者就通過人工中轉的辦法來擴大通信范圍。原理和接力一樣,通過火腿志愿者地熱心幫助,火腿們可以僅僅通過長波就可以將無線電信號送至大洋彼岸,甚至地球的另外一端林鴻決定修改架構,讓每一個客戶端都同時具備“中繼臺”功能,從而可以極大地增強整個即時通信系統的穩定性。因為如果僅僅只有一個服務器端的話,一旦這臺服務器由于某種原因出現問題,那么其他人之間的通信就會根本無法進行。

  而重新設計之后的架構則不會如此,如果其中一個節點損壞,消息還是可以通過另外一個節點傳輸到目的地。這其中信息傳輸的路徑從理論上來講有無數條,只要通過最短路徑算法找出最短的那條即可。

  至于編寫這個軟件的語言,林鴻最終選擇了C語言,他在剛開始的時候就考慮到了跨平臺的需要,目前他所接觸到的高級語言中,只有C語言能夠滿足這個要求。

請記住本站域名: 黃金屋
上一章
書頁
下一章