第一百八十四章即時(shí)通信軟件
網(wǎng)站上線之后,馬修、亞瑟和皮森三個(gè)人將這個(gè)消息告訴了自己經(jīng)常聯(lián)系的朋友,由于他們以前平時(shí)在學(xué)校并不是很受歡迎,他們的朋友也大多都是在技術(shù)類bbs上認(rèn)識的。
然而,馬修他們還是低估了大家對sam協(xié)會官方bbs的期待感。
到晚上十二點(diǎn)半的時(shí)候,林鴻突然發(fā)現(xiàn)tel客戶端提示無法連接到服務(wù)器。
“難道被入侵了?”這是林鴻的第一個(gè)想法。
上面提示的信息,主要意思是由于連接數(shù)過多而拒絕服務(wù)。
他嘗試了幾次,發(fā)現(xiàn)還是如此。
這個(gè)時(shí)候,亞瑟也再次敲響了他的房門,結(jié)果被告知,他那邊也一樣。
出現(xiàn)這種情況(求魔最新章節(jié))有兩種可能,一種就是被人黑了,導(dǎo)致服務(wù)器拒絕服務(wù),另外一種則是真的訪問的人數(shù)過多,服務(wù)器過載,無法承擔(dān)這么多人訪問。
亞瑟連忙給馬修打了個(gè)電話,詢問他那邊的情況(求魔最新章節(jié)),結(jié)果他說能夠訪問,不過速度非常緩慢。
林鴻再次嘗試了幾次之后,終于重新登錄進(jìn)去,內(nèi)容刷新的速度的確非常慢。
然后,亞瑟讓他登錄到bbs的管理后臺,看了一下統(tǒng)計(jì)人數(shù),結(jié)果顯示有同時(shí)超過一千人在線。
結(jié)果很明了了,網(wǎng)站出現(xiàn)故障,是因?yàn)橐粫r(shí)間訪問人數(shù)過多,而服務(wù)器只有一根線路,一時(shí)間無法承擔(dān)這么多人同時(shí)刷新訪問,這才提示錯(cuò)誤。
他們根本沒想到,僅僅是因?yàn)橹八麄兒妥约旱呐笥研麄髁艘幌伦约旱木W(wǎng)站,結(jié)果一傳十,十傳百,大家一窩蜂地都涌了進(jìn)來。
這種情況(求魔最新章節(jié))讓sam小組的成員又驚又喜,馬修已經(jīng)在考慮是不是有必要要增加線路了。
好在這一撥流量浪潮來得快也去得快,很快bbs就恢復(fù)了正常訪問,而這個(gè)時(shí)候,論壇中已經(jīng)出現(xiàn)了很多回帖和新帖。
尤其是林鴻發(fā)布的那片教程,受到了很多人的稱贊,不少人都表示,響應(yīng)林鴻的號召,開始著手破解自己手中不是德州儀器品牌的其他計(jì)算器。
在接下來幾天中,sam小組開始了緩慢擴(kuò)張的步伐。
很多人都在論壇中提交了自己的作品,并且希望加入sam協(xié)會,成為這個(gè)小組當(dāng)中的一員。
不過,馬修對會員的控制倒是蠻嚴(yán)格的,在達(dá)到標(biāo)準(zhǔn)的幾十個(gè)人當(dāng)中,只挑選了五人,然后再召開協(xié)會會議,大家對這五人進(jìn)行討論,再淘汰了兩人之后,sam協(xié)會便有了7名成員。
考慮到懂硬件方面的人比較少,新增加的三位當(dāng)中,有兩位是對硬件比較精通的。并且這三人都不是拉丁學(xué)校的成員,其中一位還是麻省理工學(xué)院的大學(xué)生。
由于有了其他人的加入,林鴻的工作大為減輕,他這幾天都在研究即時(shí)通訊軟件方面的內(nèi)容。
上次他就已經(jīng)注意到,因?yàn)橄到y(tǒng)平臺的不同,他和其他幾位成員交流起來有點(diǎn)困難,因?yàn)樗挠?jì)算機(jī)操作系統(tǒng)是微軟的dos,而其他三個(gè)都是蘋果公司的,連硬件架構(gòu)都不同,更別說操作系統(tǒng)以及應(yīng)用軟件了。
現(xiàn)在又有新的成員加入,并且還不是同一個(gè)學(xué)校的,平時(shí)他們進(jìn)行交流溝通的時(shí)候,就出現(xiàn)了困難。急需一款能夠跨平臺的即時(shí)聊天軟件,并且最好是能支持多人同時(shí)聊天的。
林鴻這些天都在查找這方面的資料,途徑主要是學(xué)校圖書館和互聯(lián)網(wǎng)。
他了解到,即時(shí)通訊軟件實(shí)際上早在六十年代就已經(jīng)出現(xiàn)了,剛開始的時(shí)候是出現(xiàn)在多用戶操作系統(tǒng)中,例如兼容分時(shí))系統(tǒng)和mulnix的前身)操作系統(tǒng)。
最初的時(shí)候,即時(shí)通信功能是被用來作為系統(tǒng)服務(wù)而開發(fā)的,例如“打印”或者“郵件”進(jìn)程,普通用戶和系統(tǒng)管理員之間,通常會用短信息或通知進(jìn)行信息交流。
后來,開始用于局域網(wǎng)各計(jì)算機(jī)之間的通信。例如,林鴻第一次在學(xué)校機(jī)房上課的時(shí)候,亞瑟入侵他的計(jì)算機(jī),使用的就是操作系統(tǒng)中自帶的這樣一個(gè)局域網(wǎng)通信功能。
互聯(lián)網(wǎng)興起之后,這些協(xié)議通信協(xié)議被越來越多的技術(shù)人員所了解,逐漸在各大主流操作系統(tǒng)上出現(xiàn)了一些即時(shí)通信軟件。這些軟件使用協(xié)議基本可以分為兩種協(xié)議架構(gòu),一類是基于點(diǎn)對點(diǎn),也即客戶端和客戶端直接進(jìn)行通聯(lián),另外一類則需要客戶端和服務(wù)器聯(lián)系,然后再由服務(wù)器進(jìn)行中級轉(zhuǎn)發(fā)。
點(diǎn)對點(diǎn)的通訊比較簡單,就和打電話一樣,必須兩人同時(shí)在線才能進(jìn)行聯(lián)系,如果有一方網(wǎng)絡(luò)并不是很好,或者對方并不在線的話,通訊顯然就不能進(jìn)行。還有一點(diǎn),點(diǎn)對點(diǎn)通信只能同時(shí)和一個(gè)人進(jìn)行通聯(lián)。
而服務(wù)器和客戶端的架構(gòu),這類似bbs,有一臺專門的服務(wù)器作為“中央樞紐”,大家都和這個(gè)“中央樞紐”聯(lián)系,例如告訴他,我要發(fā)信息給某某,麻煩幫我轉(zhuǎn)發(fā)一下。這樣,就算對方當(dāng)時(shí)不在線,等對方在線的時(shí)候,服務(wù)器再發(fā)給他也行,這就是延遲發(fā)送。
并且,第二種架構(gòu)還有一個(gè)優(yōu)點(diǎn),那就是可以進(jìn)行群聊,一個(gè)人對多人發(fā)送信息,讓建立聊天室有了可能。
亞瑟和馬修之前進(jìn)行聯(lián)系的那個(gè)名為xaric的通信軟件,就是建立在這個(gè)架構(gòu)之上。
林鴻專門針對這個(gè)軟件進(jìn)行了研究,發(fā)現(xiàn)這個(gè)軟件所使用的協(xié)議是irc協(xié)議。
這個(gè)協(xié)議是1988年由芬蘭人雅爾口*歐伊卡林恁開發(fā)出來的,是一個(gè)互聯(lián)網(wǎng)實(shí)時(shí)文本消息協(xié)議,是專門為了bbs或團(tuán)體成員之間進(jìn)行內(nèi)部溝通交流而設(shè)計(jì)的,允許點(diǎn)對點(diǎn),也允許一對多,甚至還包括了文件共享方面的內(nèi)容。
林鴻了解了一下,發(fā)現(xiàn)這個(gè)協(xié)議是公開的,也就是說向所有人都免費(fèi)開放,就像是其他常見的dp,ftp協(xié)議那樣,可以隨意使用,無論是用于商業(yè)用途和個(gè)人用途。
林鴻對其心生佩服,在科學(xué)技術(shù)的發(fā)展史上,不知道有多少這樣的人做著貢獻(xiàn),從最開始的電子技術(shù)、無線電技術(shù)、到現(xiàn)代的電話技術(shù)、計(jì)算機(jī)技術(shù),正是有著這些技術(shù)前輩們的無私奉獻(xiàn),做著基礎(chǔ)方面的建設(shè),才能夠逐漸發(fā)展到今天。
林鴻心中琢磨著,這個(gè)軟件自己編寫出來之后,也免費(fèi)給大家使用,貢獻(xiàn)一份自己的力量。
林鴻之前去學(xué)校圖書館找了一下,并沒有看到有關(guān)irc協(xié)議方面的資料,后來他又問了一下亞瑟和馬修,他們兩個(gè)也不知道到哪里能找到這方面資料。
后來他不得不去一些技術(shù)論壇進(jìn)行詢問,最終終于有一個(gè)人告訴他一個(gè)bbs討論組的地址,林鴻登錄到那個(gè)討論組,最終找到了原作者的email地址,于是他向原作者雅爾口嘗試著發(fā)了一封郵件,林鴻在郵件中明確地告訴他,自己想要編寫一個(gè)基于irc協(xié)議上的軟件,想要irc協(xié)議的細(xì)節(jié)。
原本還要等上一段時(shí)間,卻沒想到不到半個(gè)小時(shí)就收到了作者的回信。
雅爾口對于有人加入到irc協(xié)議軟件開發(fā)的行為感到非常高興,對于每一個(gè)人,他都會盡自己最大的努力去幫助別人,提供便利。
在郵件中,他給林鴻發(fā)來了詳細(xì)的協(xié)議技術(shù)細(xì)節(jié),而且還包括最新的升級版本,包括頻道加密和更便利的文件共享功能。
原本,林鴻只想編寫一個(gè)用于團(tuán)隊(duì)內(nèi)部進(jìn)行交流的溝通軟件,這樣,只需要有一個(gè)服務(wù)器端就行了,其他的都作為客戶端和服務(wù)器端連接。
但是閱讀了雅爾口的最新irc協(xié)議之后,他決定擴(kuò)充一下之前所構(gòu)想的軟件功能,不局限于一個(gè)服務(wù)器端,而是多個(gè),即在軟件中同時(shí)集成服務(wù)器端和客戶端。也就是說,每一個(gè)用戶都可以將自己作為中繼服務(wù)器,給大家提供服務(wù)。并且,服務(wù)器端之間也可以進(jìn)行通聯(lián)。
實(shí)際上,這種架構(gòu)和業(yè)余無線電非常相似。在無線電通信中,有一種特殊電臺稱為“無線中繼臺”,能實(shí)現(xiàn)信號的中繼和放大,從而延伸無線電網(wǎng)絡(luò)的覆蓋范圍。
在無線電發(fā)明的早期,人們還沒有發(fā)現(xiàn)短波信號的遠(yuǎn)距離傳播特性,而中、長波無線電地波通信因?yàn)榇蟮匚論p耗,距離有限。早期的業(yè)余無線電愛好者就通過人工中轉(zhuǎn)的辦法來擴(kuò)大通信范圍。原理和接力一樣,通過火腿志愿者地?zé)嵝膸椭鹜葌兛梢詢H僅通過長波就可以將無線電信號送至大洋彼岸,甚至地球的另外一端
林鴻決定修改架構(gòu),讓每一個(gè)客戶端都同時(shí)具備“中繼臺”功能,從而可以極大地增強(qiáng)整個(gè)即時(shí)通信系統(tǒng)的穩(wěn)定性。因?yàn)槿绻麅H僅只有一個(gè)服務(wù)器端的話,一旦這臺服務(wù)器由于某種原因出現(xiàn)問題,那么其他人之間的通信就會根本無法進(jìn)行。
而重新設(shè)計(jì)之后的架構(gòu)則不會如此,如果其中一個(gè)節(jié)點(diǎn)損壞,消息還是可以通過另外一個(gè)節(jié)點(diǎn)傳輸?shù)侥康牡亍_@其中信息傳輸?shù)穆窂綇睦碚撋蟻碇v有無數(shù)條,只要通過最短路徑算法找出最短的那條即可。
至于編寫這個(gè)軟件的語言,林鴻最終選擇了c語言,他在剛開始的時(shí)候就考慮到了跨平臺的需要,目前他所接觸到的高級語言中,只有c語言能夠滿足這個(gè)要求。
……
第一百八十四章即時(shí)通信軟件
第一百八十四章即時(shí)通信軟件,到(圣王txt下載)去
,