關燈 巨大 直達底部
親,雙擊螢幕即可自動滾動
第105部分

動態,便退出了tel軟體。

這個時候,linus已經下線了。

林鴻想了下,決定將minix下的email客戶端給編寫出來。

實際上,林鴻很早就瞭解過email的傳輸協議,也就是“smtp”,全稱為“簡單郵件傳輸協議”。

在他之前看tcp/ip協議的時候,就有關於smtp協議的內容。另外,他在尋找irc協議規範的時候,也接觸過相關方面的內容。

因為smtp是建立在ftp檔案傳輸服務上的一種郵件服務,這種協議還是屬於tcp/ip協議族,它的作用就是幫助每臺計算機在傳送或中轉信件時找到下一個目的地。透過smtp協議所指定的伺服器;就可以把email寄到收信人的伺服器上了。

smtp重要特性之一是其能跨越網路傳輸郵件,即“smtp郵件中繼”。

實際上,sam的紅外線中轉裝置cdad上所使用的中繼協議,就是模仿smtp協議進行編寫的。

由於有了之前編寫cqcq軟體、tel瘦身,以及紅外線相關軟體方面的程式設計經驗,林鴻現在對這種型別的程式設計已經完全得心應手。

他現在越來越覺得gcc編譯器非常好用了,它有著極大的擴充套件性,可以非常方便地擴充自己的函式庫。…;在程式設計的過程中,林鴻發現,很多程式碼實際上都可以進行重用。

例如登入伺服器模組,只要是涉及到網路訪問方面的軟體,基本上都會需要這樣一個模組,而且底層的實現機制完全一樣。

於是,林鴻直接將這個功能的實現程式碼,分離出來,做成幾個基本的函式,放到gcc的函式庫中,隨時進行呼叫。

程式碼重用是程式設計思想中非常重要的一個思想,可以極大地提高程式設計速度,節省程式設計師的時間和精力,不用每次在這些同樣的問題上浪費時間,有經驗的程式設計師通常都會有著自己常用的函式庫。

當然,一些公認比較普遍、經典的程式碼會被編譯器官方給整合起來,做成官方函式庫整合到編譯器裡面,作為系統函式可以供所有人進行呼叫。

林鴻很快就將email客戶端的原型給編寫出來,考慮到這個客戶端的通用性,他將一些引數儲存在一個設定檔案裡面,大家可以對這個設定檔案進行配置,將自己的email地址,郵件伺服器登入名和密碼等資訊寫入裡面,這樣就可以自動對郵件伺服器進行郵件查詢,或者透過郵件伺服器的smtp服務對外傳送郵件。

他將這個客戶端命名為mxmail,意為“mxmail平臺下的email”客戶端。

原型出來之後,他使用“鬱金香”bbs的郵件伺服器進行程式碼除錯,除去bug。

因為軟體的作者對軟體的使用瞭若指掌,每一個細節都非常清楚,所以自己在使用軟體的時候,就會按照自己設定的步驟去做,不會有任何差錯。這種先入為主的思維慣性會導致軟體作者往往無法很好地找到軟體的bug所在。

最好的辦法就是將這個軟體公佈出去,讓大家都來使用。

其他使用者因為並不清楚軟體內在原理,所以往往會對其作出令人意想不到的各種操作,於是乎,各種各樣奇怪的bug,便在各種“極限測試”中逐漸冒出來。

所以說,對於一個軟體來說,使用者的反饋很重要,這些反饋包括軟體本身的bug,也包括各種使用習慣的不便。

一個優秀的軟體,正是在不斷和使用者進行互動的過程中誕生的。

林鴻很快便成功和“鬱金香”bbs的郵件伺服器建立了連線,並且將伺服器上的“郵件頭”資訊給下載到了本地。

郵件頭只包括一些必要的資訊,例如這封郵件從哪裡來