已閱讀5頁,還剩68頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
查些查蘭塑主蘭堡壘查 塑墨 基于嵌入式系統(tǒng)的電子郵件及聊天功能的設(shè)計和實現(xiàn) 摘要 隨著i t 技術(shù)的日益發(fā)展 嵌入式設(shè)備的功能越來越強(qiáng)大 嵌入式設(shè)備決不 再只是充當(dāng)一個小小的個人信息管理工具了 更重要的是可以上網(wǎng)瀏覽 收發(fā)郵 件 在線聊天等 然而就目前國內(nèi)市場來說 并不是所有的嵌入式設(shè)備都具備以 上所有的功能 即使具備 也可能由于缺乏相應(yīng)的服務(wù)而不能實現(xiàn) 但可以預(yù)見 嵌入式設(shè)備發(fā)展的趨勢和潮流就是計算 通信 網(wǎng)絡(luò) 存儲等功能的融合 目前市場上大多數(shù)的嵌入式系統(tǒng)都是商業(yè)化產(chǎn)品 價格昂貴 因此在開發(fā)過 程中有必要使用一個模擬器 使得在p c 上可以模擬一個嵌入式設(shè)備 在p c 機(jī)上 可以方便的開發(fā)和測試程序 并且可以幫助工程師快速的進(jìn)行分析和改進(jìn) 提高 了工作效率和降低了項目的開發(fā)成本 在嵌入式操作系統(tǒng)的領(lǐng)域中 l i n u x 以其特有的魅力得到了眾多開發(fā)商的親 睞 l i n u x 這些特性包括可以移植到多個同結(jié)構(gòu)的c p u 和硬件平臺上 有很好的 穩(wěn)定性以及各種性能的升級能力 本文一開始對嵌入式技術(shù)作了簡潔的介紹 并概括闡述了當(dāng)前嵌入式系統(tǒng)的 開發(fā)環(huán)境的類型以及各自的特點 然后針對大家都很熟悉的t c p i p 協(xié)議進(jìn)行了簡 單的描述 在第二章 針對介紹本論文所應(yīng)用到嵌入式系統(tǒng)開發(fā)環(huán)境作了一個簡 單的介紹 第三章主要介紹了在一個嵌入式系統(tǒng)模擬器下設(shè)計和實現(xiàn)電子郵件功 能 并且實現(xiàn)的系統(tǒng)具有高實時性和高效率的特點 滿足嵌入式系統(tǒng)的特點 第 四章是對在上述模擬器上設(shè)計和實現(xiàn)聊天功能的描述 第五章主要介紹了在嵌入 式l i n u x 下設(shè)計和實現(xiàn)電子郵件功能 在最后的第六章是對本論文的總結(jié)和進(jìn)一步 工作的展望 關(guān)鍵詞嵌入式系統(tǒng)模擬器t c p i p 電子郵件 i i 東北大學(xué)碩士學(xué)位論文 a b s t r a c t t h e d e s i g n a n d i m p l e m e n t a t i o n o fe m a i la n dc h a tf u n c t i o n b a s e do ne m b e d d e d s y s t e m a b s t r a c t w i t h 也e d e v e l o p m e n to f t h ei n f o r m a t i o n t e c h n o l o g y t h e f u n c t i o no ft h e e m b e d d e dd e v i c ei sb e c o m i n gm o r ea n dm o r e p o w e r f u l i ti sn o to n l yu s e da sp e r s o n a l i n f o m l a t i o nm a n a g e r b u ta l s ou s e dt ob r o w s et h ew e b s i t e s r e c e i v ea n ds e n de m a i l c h a t a n ds oo n a n di nt h eh o m em a r k e ta tt h ep r e s e n tt i m e n o ta 1 1t h ed e v i c e sh a v et h e s e f u n c t i o n s b u ti tc a nb ef o r e s e e nt h a ti ti sa t e n d e n c yf o rt h ee m b e d d e dd e v i c et ob e e q u i p p e d t h ea b i l i t i e so f c o m p u t e r c o m m u n i c a t i o n n e t w o r k a n ds t o r a g e a t p r e s e n t m o s to f t h ee m b e d d e ds y s t e r n sa r ev e r ye x p e n s i v e i no r d e r t oc u td o w n t h ec o s to fd e v e l o p m e n t i ti s v e r yn e c e s s a r yt ou t i l i z eas i m u l a t o rt os i m u l a t et h e e m b e d d e d s y s t e m sa c t i o n sa tf i r s t a l s ow i t l lt h es i m u l a t o r t h ed e v e l o p e rc a r ld e v e l o p t e s ta n da n a l y z et h ec o d eq u i e k l v i nt h ee m b e d d e do s r e g i o n l i n u xi sw e l c o m eb ym a n yp r o d u c e r sb e c a u s el i n u x h a sf o l l o w i n gc h a r a c t e r ss u c ha s e a s i l yp o r t a b i l i t y s u p p o r t i n gm a n yd i f f e r e n tc p u a r c h i t e c t u r e s s t a b i l i t ya n de a s i l yb e i n gu p g r a d e d a n d o p e n r e s o u r c ep o l i c y a tt h eb e g i n n i n go ft h et h e s i s e m b e d d e dt e c h n o l o g yi si n t r o d u c e dc o m p a c t l y e s p e c i a l l ye m p h a s i so nt h et y p e so f e m b e d d e ds y s t e md e v e l o pe n v i r o n m e n t s t h e nt h e w e l l k n o w nt c p i pp r o t o c o li s s i m p l ed i s c u s s e d i nt h es e c o n dc h a p t e r t h ed e v e l o p e n v i r o n m e n t su s e di nt h et h e s i sa r es t a t e d i nt h et i f f r d c h a p t e r t h ed e s i g na n d i m p l e m e n to fe m a i li no n ee m b e d d e ds y s t e m ss i m u l a t o r a r ed e s c r i b e d t h e s em o d u l e s m a t d e s i g n e da r es oe f n t i e n ta n d r e a l t i m et h a ti ti ss u i tf o ra ne m b e d d e d s y s t e m i nt h e f o r t hc h a p t e r t h ed e s i g na n di m p l e m e n to fe m a i li nt h ee m b e d d e ds y s t e m ss i m u l a t o r a r ed e s c r i b e d i nt h ef i f t hc h a p t e r t h ed e s i g na n di m p l e m e n to fe m a i lf u n c t i o ni nt h e e m b e d d e dl i n u xa r ed e s c r i b e d a tt h ee n d as u m m a r yo ft h i st h e s i si sm a d ea n ds o m e f u t u r ee x p e c t a t i o n sa r ep r e s e n t e di nt h es i x t hc h a p t e r k e y w o r d se m b e d d e d s y s t e m s i m u l a t o r t c m 只e m a i l i 聲明 本人聲明所呈交的學(xué)位論文是在導(dǎo)師的指導(dǎo)下完成的 論文中取 得的研究成果除加以標(biāo)注和致謝的地方外 不包含其他人已經(jīng)發(fā)表或 撰寫過的研究成果 也不包括本人為獲得其他學(xué)位而使用過的材料 與我一同工作過的同志對本研究所做的任何貢獻(xiàn)均已在論文中作了明 確的說明并表示謝意 本人簽名 日期 t 砷搬 v 卑 o 東北大學(xué)碩士學(xué)位論文第一章引言 第一章引言 隨著i t 信息 技術(shù)的飛速發(fā)展 特別是互聯(lián)網(wǎng)的迅速普及 3 c 計算機(jī) 通訊 消費(fèi)電子 合一的加速 數(shù)字化時代已經(jīng)來臨 嵌入式系統(tǒng)是數(shù)字化時代 的一大主流產(chǎn)品 世界各國在此領(lǐng)域開始了激烈競爭 以爭取獲得主導(dǎo)地位 嵌 入式系統(tǒng)是數(shù)字化產(chǎn)品的核心 為適應(yīng)嵌入式分布處理結(jié)構(gòu)和應(yīng)用上網(wǎng)需求 面向2 1 世紀(jì)的嵌入式系統(tǒng)要求 配備標(biāo)準(zhǔn)的一種或多種網(wǎng)絡(luò)通信接口 針對外部聯(lián)網(wǎng)要求 嵌入設(shè)備必需配有通 信接口 相應(yīng)需要t c p i p 協(xié)議族軟件支持 由于家用電器相互關(guān)聯(lián) 如防盜報警 燈光能源控制 影視設(shè)備和信息終端交換信息 及實驗現(xiàn)場儀器的協(xié)調(diào)工作等要求 新一代嵌入式設(shè)備還需具備i e e e l 3 9 4 u s b b l u e t o o t h 或i r d a 通信接口 同時 也需要提供相應(yīng)的通信組網(wǎng)協(xié)議軟件和物理層驅(qū)動軟件 為了支持應(yīng)用軟件的特 定編程模式 如w e b 或無線w e b 編程模式 還需要相應(yīng)的瀏覽器 如h t m l w m l 等 可以想象 如果一個體積很小的嵌入式系統(tǒng)能夠進(jìn)行收發(fā)郵件 在線聊 天 h r r p 通信 將是一件多么美妙的事情啊 但是現(xiàn)在大多數(shù)的嵌入式系統(tǒng)都是商業(yè)化產(chǎn)品 價格昂貴 所以嵌入式系統(tǒng) 開發(fā)前期投入比較大 開發(fā)工具投入高 為了改變這種狀況 有必要設(shè)計一個模 擬器 使得在p c 上可以模擬一個嵌入式設(shè)備 在p c 機(jī)上可以方便的開發(fā)和測試 程序 并且可以幫助工程師快速的進(jìn)行分析和改進(jìn) 提高了工作效率和降低了項 目的開發(fā)成本 隨著自由軟件理念日益為大眾廣為接受 一批自由軟件在i t 的各個領(lǐng)域取得 了巨大成功 l i n u x 是其中最具代表性的一個 其自由 開放的特性吸引了大批軟 件廠商和獨立開發(fā)人員 多年的發(fā)展和業(yè)界同仁的共同努力已使其成為高效 穩(wěn) 定 低成本的操作系統(tǒng) 而且由于l i n u x 開放源代碼 任何人都可以對其進(jìn)行裁減 修改 以適應(yīng)自行開發(fā)的需要 1 1 嵌入式系統(tǒng)概述 1 1 1 嵌入式系統(tǒng)的定義 嵌入式系統(tǒng)是指同時將操作系統(tǒng)和功能軟件集成于計算機(jī)硬件系統(tǒng)之中的一 種系統(tǒng) 簡單的說就是應(yīng)用軟件 操作系統(tǒng)和硬件系統(tǒng)一體化 類似于b o s 的工 作方式 具有代碼小 高度自動化 響應(yīng)速度快的特點 特別適合于要求實時的 和多任務(wù)的體系 東北大學(xué)碩士學(xué)位論文第一章引言 嵌入式系統(tǒng)最初是指用以控制設(shè)備的計算機(jī) 通常是在葭備內(nèi)部 為了控制 設(shè)備行為或是嵌入在其它系統(tǒng)中的一種專用軟件和硬件 它一旦啟動就執(zhí)行某一 特定的程序 中間無需人工干預(yù) 直到關(guān)機(jī)為止 但通常要求具有實時響應(yīng)能力 一般不要求復(fù)雜的用戶界面 甚至不要求支持鍵盤 顯示器 串行口 硬盤等鄉(xiāng)卜 設(shè)接口 也不需用戶進(jìn)行二次開發(fā) 它被廣泛地用于儀器儀表 工業(yè)控制設(shè)各 電梯 程控交換機(jī) 微波設(shè)備 交通燈 家用電器等設(shè)備中 近年來 隨著信息 技術(shù)的飛速發(fā)展 嵌入式系統(tǒng)具有了新的內(nèi)涵 同時萌生了許多形態(tài)各異的接入 設(shè)備 如手持電腦 可上網(wǎng)的無線移動手機(jī) 機(jī)頂盒 家庭網(wǎng)關(guān) 可上網(wǎng)的電視 機(jī) 可上網(wǎng)的車載盒 智能家用電器等等 相應(yīng)地對嵌入式軟件也提出了與最初 不同的要求 1 1 2 嵌入式系統(tǒng)的特點 嵌入式系統(tǒng)的所有特點都是體現(xiàn)在 嵌入 這個詞上 既然要嵌入就必須 要要嵌入的主體和嵌入的客體 從這些特點中也要能區(qū)分出嵌入式系統(tǒng)與普通通 用的系統(tǒng)的差別 總體來說 嵌入式計算機(jī)系統(tǒng)同通用型計算機(jī)系統(tǒng)相比具有以 下特點 3 0 1 1 嵌入式系統(tǒng)通常是面向特定應(yīng)用的 嵌入式c p u 與通用型的最大不同就 是嵌入式c p u 大多工作在為特定用戶群設(shè)計的系統(tǒng)中 它通常都具有低功耗 體 積小 集成度高等特點 能夠把通用c p u 中許多由板卡完成的任務(wù)集成在芯片內(nèi) 部 從而有利于嵌入式系統(tǒng)設(shè)計趨于小型化 移動能力大大增強(qiáng) 跟網(wǎng)絡(luò)的耦合 也越來越緊密 2 嵌入式系統(tǒng)是將先進(jìn)的計算機(jī)技術(shù) 半導(dǎo)體技術(shù)和電子技術(shù)與各個行業(yè)的 具體應(yīng)用相結(jié)合后的產(chǎn)物 這一點就決定了它必然是一個技術(shù)密集 資金密集 高度分散 不斷創(chuàng)新的知識集成系統(tǒng) 3 嵌入式系統(tǒng)的硬件和軟件都必須高效率地設(shè)計 量體裁衣 去除冗余 力 爭在同樣的硅片面積上實現(xiàn)更高的性能 這樣才能在具體應(yīng)用中對處理囂的選擇 更具有競爭力 4 嵌入式系統(tǒng)和具體應(yīng)用有機(jī)地結(jié)合在一起 它的升級換代也是和具體產(chǎn)品 同步進(jìn)行 因此嵌入式系統(tǒng)產(chǎn)品一旦進(jìn)入市場 具有較長的生命周期 5 為了提高執(zhí)行速度和系統(tǒng)可靠性 嵌入式系統(tǒng)中的軟件一般都固化在存儲 器芯片或單片機(jī)本身中 而不是存貯于磁盤等載體中 f 6 嵌入式系統(tǒng)本身不具備自行開發(fā)能力 即使設(shè)計完成以后用戶通常也是不 能對其中的程序功能進(jìn)行修改的 必須有一套開發(fā)工具和環(huán)境才能進(jìn)行開發(fā) 2 東北大學(xué)碩士學(xué)位論文第一章引言 1 1 3 嵌入式系統(tǒng)開發(fā)需要的開發(fā)工具和環(huán)境 通用計算機(jī)具有完善的人機(jī)接口界面 在上面增加一些開發(fā)應(yīng)用程序和環(huán)境 即可以對自身的開發(fā) 而嵌入式系統(tǒng)本身不具備自我開發(fā)能力 即使設(shè)計完成后 用戶通常也是不能對其中的程序功能進(jìn)行修改的 必須有一套開發(fā)工具和環(huán)境才 能進(jìn)行開發(fā) 這些工具和環(huán)境一般是基于通用計算機(jī)上的軟硬件設(shè)備以及各種邏 輯分析儀 混合信號示波器等 嵌入式處理器是一個復(fù)雜的高科技系統(tǒng) 要在短時間內(nèi)掌握并開發(fā)出所有功 能是很不容易的 而市場競爭則需要產(chǎn)品能夠快速上市 這一矛盾需要嵌入式處 理器能夠有容易掌握和使用的開發(fā)工具平臺 提高用戶和程序員的時間投入回報 率 目前嵌入式系統(tǒng)的開發(fā)工具平臺主要包括下面幾類 1 實時在線仿真系統(tǒng)i c e i t c i r c u i te m u l a t o r 直到計算機(jī)輔助設(shè)計非常發(fā)達(dá)的今天 實時在線仿真系統(tǒng)仍是進(jìn)行嵌入式系 統(tǒng)調(diào)試最有效的開發(fā)工具 i c e 首先可以通過實際執(zhí)行 對應(yīng)用程序進(jìn)行原理性檢 驗 排除以人的思維難以發(fā)現(xiàn)的設(shè)計邏輯錯誤 i c e 的另一個主要功能是在應(yīng)用系 統(tǒng)中仿真硬件的實時執(zhí)行 發(fā)現(xiàn)和排除由于硬件干擾等原因引起的異常執(zhí)行行為 此外 高級的i c e 帶有完善的跟蹤功能 可以將應(yīng)用系統(tǒng)的實際狀態(tài)變化 硬件 的狀態(tài)變化的反應(yīng)等以一種錄像的方式連續(xù)紀(jì)錄下來 以供分析 在分析中優(yōu)化 控制過程 很多機(jī)電系統(tǒng)難以建立一個精確有效的數(shù)學(xué)模型 或建立模型需要大 量人力 這時采用i c e 的跟蹤功能對系統(tǒng)進(jìn)行紀(jì)錄和分析是一個快而有效的方法 2 高級語言編譯器 c o m p i l e r c 語言作為一種通用的高級語言 大幅度提高了嵌入式系統(tǒng)工程師的工作效 率 使之能夠充分發(fā)揮出嵌入式處理器日益提高的性能 縮短產(chǎn)品進(jìn)入市場的時 間 另外c 語言便于移植和修改 使產(chǎn)品的升級和繼承更迅速 更重要的是采用 c 語言編寫的程序易于在不同的開發(fā)者之間進(jìn)行交流 從而促使嵌入式系統(tǒng)開發(fā)的 產(chǎn)業(yè)化 區(qū)別于一般計算機(jī)中的c 語言編譯器 嵌入式系統(tǒng)中的c 語言編譯器要專門 進(jìn)行優(yōu)化 以提高編譯效率 優(yōu)秀的嵌入式系統(tǒng)c 編譯器代碼長度和執(zhí)行時間僅 比匯編語言編寫的同樣功能程序長5 2 0 編譯質(zhì)量的不同 是區(qū)別嵌入式c 編 譯器工具的重要指標(biāo) 而c 編譯器與匯編語言工具相比殘余5 2 0 效率的差別 完全可以由現(xiàn)代微控制器的高速度 大存儲空間以及產(chǎn)品提前進(jìn)入市場的優(yōu)勢來 彌補(bǔ) 新型的微控制器指令的速度不斷提高 存儲器空間也相應(yīng)加大 已經(jīng)達(dá)到甚 至超過目前的通用計算機(jī)中的微處理器 為嵌入式系統(tǒng)工程師采用過去一直不敢 3 東北大學(xué)碩士學(xué)位論文第一章引言 問津的c 語言創(chuàng)造了條件 c 抖語言強(qiáng)大的類 繼承等功能更便于實現(xiàn)復(fù)雜的程 序功能 但是c 語言為了支持復(fù)雜的語法 在代碼生成效率方面不免有所下降 為此 1 9 9 5 年初在日本成立了e m b e d d e dc 技術(shù)委員會 他們針對嵌入式應(yīng)用制 定了減小代碼尺寸的e c 標(biāo)準(zhǔn) e c 保留了c r 的主要優(yōu)點 提供對c 的向 上兼容性 并滿足嵌入式系統(tǒng)設(shè)計的一些特殊要求 c c e c 引入嵌入式系統(tǒng) 使得嵌入式開發(fā)和個人計算機(jī)上的開發(fā)上的差別 正在逐漸消除 軟件工程的很多經(jīng)驗 方法乃至庫函數(shù)都可以移植到嵌入式系統(tǒng) 在嵌入式開發(fā)中采用高級語言 還使得硬件開發(fā)和軟件開發(fā)可以分工 從事嵌入 式軟件開發(fā)不再必須精通系統(tǒng)硬件和相應(yīng)的匯編語言指令集了 另 種高級語言 j a v a 的發(fā)展則具有戲劇性 j a v a 本來是為設(shè)備獨立的嵌 入式系統(tǒng)設(shè)計的 為了提高程序繼承性的語言 但是目前基于j a v a 的嵌入式開發(fā) 工具代碼生成長度要比嵌入式c 編譯工具差l o 倍以上 因此e c 很可能將是未 來的主流工具 3 源程序模擬器 模擬器是在廣泛使用的 入機(jī)接口完備的工作平臺上 如小型機(jī)和p c 通過 軟件手段模擬執(zhí)行為某種嵌入式處理器內(nèi)核編寫的源程序測試工具 簡單的模擬 器可以通過指令解釋方式逐條執(zhí)行源程序 分配虛擬存儲空間和外設(shè) 供程序員 檢查 高級的模擬器可以利用計算機(jī)的外部接口模擬出處理器的i o 電氣信號 不 同檔次和功能模擬器工具價格差距很大 模擬器軟件獨立于處理器硬件 一般與編譯器集成在同一個環(huán)境中 是一種 有效的源程序檢驗和測試工具 但值得注意的是 模擬器畢竟是以一種處理器模 擬另一種處理器的運(yùn)行 在指令執(zhí)行時間 中斷響應(yīng) 定時器等方面很可能與實 際處理器有相當(dāng)?shù)牟顒e 另外它無法和i c e 一樣 仿真嵌入式系統(tǒng)在應(yīng)用系統(tǒng)中 的實際執(zhí)行情況 本論文的開發(fā)首先就是在源程序模擬器上進(jìn)行開發(fā)和調(diào)試的 4 實時多任務(wù)操作系統(tǒng) r e a jt i m em u l t i t a s k i n go p e r a t i o ns y s t e m r t o s 實時多任務(wù)系統(tǒng)是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺 目前在中國大多數(shù)嵌 入式軟件開發(fā)還是基于處理器直接編寫 沒有采用商品化的r t o s 不能將系統(tǒng)軟 件和應(yīng)用軟件分開處理 r t o s 是一段嵌入在目標(biāo)代碼中的軟件 用戶的其他應(yīng)用 程序都建立在r t o s 之上 不但如此 r t o s 還是一個可靠性和可信性很高的實時 內(nèi)核 將c p u 時間 中斷 y o 定時器等資源都包裝起來 留給用戶一個標(biāo)準(zhǔn)的 a p i 并根據(jù)各個任務(wù)的優(yōu)先級 合理地在不同任務(wù)之間分配c p u 時間 r t o s 是針對不同處理器優(yōu)化設(shè)計的高效率實時多任務(wù)內(nèi)核 優(yōu)秀商品化的 r t o s 可以面對幾十個系列的嵌入式處理器的a p i 接口 這是r t o s 基于設(shè)備獨立 d 東北大學(xué)碩士學(xué)位論文第一章引言 的應(yīng)用程序開發(fā)基礎(chǔ) 因此基于r t o s 上的c 語言程序具有極大的可移植性 據(jù)專家測算 優(yōu)秀r t o s 上夸處理器平臺的程序移植之需要修改l 5 的內(nèi)容 在 r t o s 基礎(chǔ)上可以編寫出各種硬件驅(qū)動程序 專家?guī)旌瘮?shù) 行業(yè)庫函數(shù) 產(chǎn)品庫 函數(shù) 和通用性應(yīng)用程序一起 可以作為產(chǎn)品銷售 促進(jìn)行業(yè)內(nèi)的知識產(chǎn)權(quán)交流 因此r t o s 又是一個軟件開發(fā)平臺 本論文在嵌入式l i n u x 下設(shè)計和實現(xiàn)了e m a i l 功能 1 2t c p i p 協(xié)議族 t c p i p 是用于計算機(jī)通信的一組協(xié)議 我們通常稱它為t c p i p 協(xié)議族 它是 7 0 年代中期美國國防部為其a r p a n e t 廣域網(wǎng)開發(fā)的網(wǎng)絡(luò)體系結(jié)構(gòu)和協(xié)議標(biāo)準(zhǔn) 以它為基礎(chǔ)組建的i n t e r n e t 是目前國際上規(guī)模最大的計算機(jī)網(wǎng)絡(luò) 正因為 i n t e r n e t 的廣泛使用 使得t c p i p 成了事實上的標(biāo)準(zhǔn) 之所以說t c p i p 是一 個協(xié)議族 是因為t c p i p 協(xié)議 2 包括t c p i p u d p i c m p r i p t e l n e t f t p s m t p a r p t f l 甲等許多協(xié)議 這些協(xié)議一起稱為t c p i p 協(xié)議 與i s o 的0 s i 七層參考模型不同的是 t c p i p 不是作為標(biāo)準(zhǔn)制定的 而是產(chǎn)生于i n t e m e t 的研究 和應(yīng)用的實踐中 雖然用o s i 參考模型也可以描述t c p i p 協(xié)議 但是兩者在細(xì)節(jié) 上還是有一些差異 1 2 1t c p i p 協(xié)議族分層結(jié)構(gòu) 從協(xié)議分層模型方面來講 t c p i p 由五個層次組成 物理層 鏈路層 網(wǎng)絡(luò) 層 傳輸層 應(yīng)用層 由于物理層是純硬件這里不做詳細(xì)討論 剩下的四層的結(jié) 構(gòu)如圖1 1 中所示 其中 鏈路層是t c p i p 軟件的最低層 負(fù)責(zé)接收i p 數(shù)據(jù)報并通過網(wǎng)絡(luò)發(fā)送之 或者 從網(wǎng)絡(luò)上接收物理幀 抽出i p 數(shù)據(jù)報 交給i p 層 網(wǎng)絡(luò)層負(fù)責(zé)相鄰計算機(jī)之間的通信 其功能包括三方面 1 處理來自傳輸層的分組發(fā)送請求 收到請求后 將分組裝入i p 數(shù)據(jù)報 填充報頭 選擇去往信宿機(jī)的路徑 然后將數(shù)據(jù)報發(fā)往適當(dāng)?shù)木W(wǎng)絡(luò)接口 2 處理輸入數(shù)據(jù)報 首先檢查其合法性 然后進(jìn)行尋徑 假如該數(shù)據(jù)報已 到達(dá)信宿機(jī) 則去掉報頭 將剩下部分交給適當(dāng)?shù)膫鬏攨f(xié)議 假如該數(shù)據(jù)報尚未 到達(dá)信宿 則轉(zhuǎn)發(fā)該數(shù)據(jù)報 3 處理路徑 流量控制 擁塞等問題 傳輸層提供應(yīng)用程序間的通信 其功能包括 一 格式化信息流 二 提供 5 東北大學(xué)碩士學(xué)位論文 第一章引言 可靠傳輸 為實現(xiàn)后者 傳輸層協(xié)議規(guī)定接收端必須發(fā)回確認(rèn) 并且假如分組丟 失 必須重新發(fā)送 應(yīng)用層向用戶提供一組常用的應(yīng)用程序 比如電子郵件 文件傳輸訪問 遠(yuǎn) 程登錄等 遠(yuǎn)程登錄t e l n e t 使用t e l n e t 協(xié)議提供在網(wǎng)絡(luò)其它主機(jī)上注冊的接 口 t e l n e t 會話提供了基于字符的虛擬終端 文件傳輸訪問f t p 使用f t p 協(xié)議 來提供網(wǎng)絡(luò)內(nèi)機(jī)器問的文件拷貝功能 圖1 1t c p i p 協(xié)議族分層結(jié)構(gòu)示意圖 7 f i g i 1l a y e r s t r u c t u r eo f t c p i ps u i t e l 1 2 2t c p i p 特點 t c p i p 協(xié)議的核心部分是傳輸層的協(xié)議 t c p u d p 網(wǎng)絡(luò)層協(xié)議 i p 和物理 接口層 這三層通常是在操作系統(tǒng)內(nèi)核中實現(xiàn) 因此用戶一般不涉及 編程時 編程界面有兩種形式 1 1 是由內(nèi)核心直接提供的系統(tǒng)調(diào)用 f 2 使用以庫函數(shù)方式提供的各種函數(shù) 前者為核內(nèi)實現(xiàn) 后者為核外實現(xiàn) 用戶服務(wù)要通過核外的應(yīng)用程序才能實 現(xiàn) 所以要使用套接字 s o c k e t 來實現(xiàn) 6 東北大學(xué)碩士學(xué)位論文第一章引言 圖1 2 是t c p i p 協(xié)議核心與應(yīng)用程序關(guān)系圖 直用程序1應(yīng)用程序2 網(wǎng)絡(luò)應(yīng)用編程界面 s o c k e t t c p i p 核心協(xié)議 物理介質(zhì) 圖1 2t c 剛p 協(xié)議與應(yīng)用程序關(guān)系圖嗍 f i g 1 2 r e l a t i o n b e t w e e n t h e t c p i p p r o t o c o l s a n d t h e a p p l i c a t i o n s l 8 1 1 2 3 套接字 s o c k e t s 套接字是網(wǎng)絡(luò)通信的基本構(gòu)件 套接字是可以被命名和尋址的通信端點 使 用中的每一個套接字都有其類型和一個與之相連的進(jìn)程 套接字存在于通信區(qū)域中 通信區(qū)域也叫地址族 它是一個抽象概念 主要 用于將通過套接字通信的進(jìn)程的共有特性綜合在一起 套接字通常只與同一區(qū)域 中的套接字交換數(shù)據(jù) 也有可能跨越區(qū)域通信 但這只在執(zhí)行了某種轉(zhuǎn)換進(jìn)程后 才能實現(xiàn) w i n d o w ss o c k e t s 只支持一個通信區(qū)域 網(wǎng)際域 a f i n e t 這個域 被網(wǎng)際協(xié)議族通信的進(jìn)程使用 套接字都具有類型 它是根據(jù)用戶可見的通信特征進(jìn)行分類的 應(yīng)用程序被 假定為只在同一類型的套接字間通信 不過只要依據(jù)的通信協(xié)議支持 也完全可 以在不同類型的套接字間通信 w i n d o w ss o c k e t s 版本1 1 支持兩種套接字 面向 連接套接字 s o c ks t r e a m 和無連接套接字 s o c kd g r a m 在w i n d o w s 環(huán)境性實現(xiàn)s o c k e t s 是指實現(xiàn)了w i n d o w ss o c k e t s 規(guī)范所描述的全 部功能的一套軟件 一般來說 在w i n d o w s 下實現(xiàn)w i n d o w ss o c k e t s 功能都是通 7 東北大學(xué)碩士學(xué)位論文 第一章引言 過d l l 實現(xiàn)的 并且很多實現(xiàn)是純粹通過d l l 實現(xiàn)的 因此 本文中的w i n d o w s s o c k e t s 實現(xiàn)的提法可以說等價于w i n d o w s s o c k e t sd l l 8 東北大學(xué)碩士學(xué)位論文第二章系統(tǒng)開發(fā)環(huán)境介紹 第二章系統(tǒng)開發(fā)環(huán)境介紹 本論文首先是在一個嵌入式設(shè)備的模擬器上實現(xiàn)電子郵件功能和在線聊天功 能 然后把電子郵件功能移植到一個嵌入式l i n u x 系統(tǒng)上去運(yùn)行 因此本文所應(yīng)用 到的開發(fā)環(huán)境有兩個 一是嵌入式系統(tǒng)模擬器 另一是在嵌入式l i n u x 2 1 嵌入式系統(tǒng)模擬器 2 1 1 嵌入式設(shè)備和模擬器之間的差異 圖2 1 是嵌入式設(shè)備的工作環(huán)境 底層是一個嵌入式操作系統(tǒng) 各應(yīng)用程序 是通過m m i m a n m a c h i n ei n t e r f a c e 程序?qū)崿F(xiàn) 各個系統(tǒng)設(shè)備的消息發(fā)送 例如 按鍵 有新郵件等 都是通過此嵌入式操作系統(tǒng)的服務(wù)程序 s e r v i c e r o u t i n e 的系統(tǒng)調(diào)用實現(xiàn)的 圖2 1 嵌入式設(shè)備上的操作環(huán)境 f i 9 2 io p e r a t i n ge n v i r o n m e n t o ne m b e d d e dd e v i c e 雖說嵌入式設(shè)備的模擬器中的m m1 程序就是在w i n d o w s 模擬開發(fā)嵌入式系 統(tǒng)的應(yīng)用程序 但是進(jìn)行一些以下改變還是非常有必要的 1 由于由嵌入式0 s 轉(zhuǎn)變?yōu)閣 i n d o w s0 s 所以消息發(fā)送改變?yōu)閣 i n d o w s 進(jìn) 程間的消息發(fā)送處理 2 由于不存在外設(shè) 所以要對外圍設(shè)備的動作進(jìn)行模擬 并對外圍設(shè)備狀態(tài) 的進(jìn)行監(jiān)控 考慮上述兩中改變后的環(huán)境見圖2 2 9 東北大學(xué)碩士學(xué)位論文第二章系統(tǒng)開發(fā)環(huán)境介紹 口進(jìn)程i 二二 二 w n 應(yīng)用程序 圖2 2w i n d o w s 上操作環(huán)境 f i 9 2 2o p e r a t i n g e n v i r o n m e n to nw i n d o w s 2 1 2 模擬器的構(gòu)成 嵌入式設(shè)備模擬器是在w i n d o w so s 是利用多線程來實現(xiàn)的 由以下三個功能 模塊構(gòu)成 1 硬件模擬模塊 硬件模擬模塊有以下3 個功能組成 硬件狀態(tài)監(jiān)控 操作模擬 應(yīng)用程序狀態(tài)轉(zhuǎn)換模擬 f 2 1 事件轉(zhuǎn)換模塊 把硬件模擬模塊中的各種事件轉(zhuǎn)換成一個消息 事件 發(fā)送給m m i 程序模塊 并且使用一個線程來進(jìn)行應(yīng)用程序的管理 3 m m i m a n m a c h i n e i n t e r f a c e 程序模塊 嵌入式設(shè)備的實際動作在模擬器應(yīng)用程序模擬的動作是通過動態(tài)連接庫 d 1 1 提供的 完成相應(yīng)處理 最后給硬件模擬模塊發(fā)送一個消息 使硬件模擬模塊進(jìn) 行相應(yīng)的操作 這三個功能模塊相互之間的關(guān)系見圖2 3 1 0 東北大學(xué)碩士學(xué)位論文第二章系統(tǒng)開發(fā)環(huán)境介紹 圖2 3 模擬器功能模塊關(guān)聯(lián)圖 f i g 2 3r e l a t i o na m o n g t h em o d u l e so f s i m u l a t o r 各個模塊通信過程如下 硬件模擬模塊到事件轉(zhuǎn)換模塊 各個單獨的應(yīng)用程序使用s e n d m e s s a g e 函數(shù)進(jìn)行通信 事件轉(zhuǎn)換模塊到m m i 程序模塊 啟動一個線程進(jìn)行通信 并發(fā)送一個 消息 m m i 程序模塊到硬件模擬模塊 各個單獨的應(yīng)用程序使用s e n d m e s s a g e 函數(shù)進(jìn)行通信 根據(jù)以上分析 可以得到事件處理的時序圖 圖2 4 是按鍵事件發(fā)生的時序圖 其它事件的時序圖和他類似 m m i 程序模塊是本嵌入式系統(tǒng)的核心部分 所有的a p p 都是在此進(jìn)行處理的 這個函數(shù)的主要處理過程如下 1 初始化處理 從電源o f f 到電源o n 時的處理過程 a p p l i c a t i o nl i s t 初期化 e m u l a t i o nd e v i c e 初期化 各t a s k 初期化 2 事件取得 用g e t s i m e v e n t 函數(shù)取得事件轉(zhuǎn)換模塊發(fā)送來的事件 3 事件解析 根據(jù)p o w e r o n o f f 的狀態(tài)調(diào)用p r o c p o w e r o n o f f 進(jìn)行事件解析 4 實時控制 根據(jù)所解析的事件進(jìn)行相應(yīng)的處理 型墮蘭塑主蘭堡壘查 苧三主墾塾塹查塹些坌絲 i 摹鬟鏟ii 鼉鏟l i 模塊 ll 覆塊l li l li ii 嚴(yán)u s e m j s q m l 7 l l i備鬻件處理 摹f 牛隊判 l 函憎齄 i l l 日e t i 聰v e n t f i i g e t s i 衛(wèi)匹v e n t l 1 廣 s e n d l e s s a e0 鬯 圖2 4 按鍵事件發(fā)生時序圖 f i g 2 4s e q u e n c ed i a g r a mo f p r e s s i n gk e ye v e n t 2 2 嵌入式l i n u x 嵌入式l i n u x 4 j 則是按照嵌入式操作系統(tǒng)的要求而設(shè)計的一種小型操作系統(tǒng) 由一個k e r n e l 內(nèi)核 及一些根據(jù)需要進(jìn)行定制的系統(tǒng)模塊組成 其k e r n e l 很小 一般只有幾百k b 左右 即使加上其他必須的模塊和應(yīng)用程序 所需的存儲空間也 很小 它有多任務(wù) 多進(jìn)程的系統(tǒng)特征 有些還具有實時性 一個小型的嵌入式 l i n u x 系統(tǒng)只需要引導(dǎo)程序 l i n u x 微內(nèi)核 初始化進(jìn)程3 個基本元素 運(yùn)行嵌入 式l i n u x 的c p u 可以是x 8 6 a l p h a s p a r c m i p s p p c 等 與這些芯片搭配的 主板都很小 與一張p c i 卡大小相當(dāng) 有的甚至更小 嵌入式l i n u x 所需的存儲 器不是軟磁盤 硬盤 z i p 盤 c d r o m d v d 這些眾所周知的常規(guī)存儲器 它 使用r o m c o m p a c t f l a s h m s y s t e m s 的d i s k o n c h i p s o n y 的m e m o r y s t i c k i b m 的m i c r o d r i v e 等體積極小 與主板上的b i o s 大小相近 存儲容量不太大的存 儲器 它的內(nèi)存可以使用普通的內(nèi)存 也可以使用專用的r a m 目前嵌入式l i n u x 的應(yīng)用非常的廣泛 而且根據(jù)相關(guān)的調(diào)查和專家的分析 嵌入式l i n u x 的應(yīng)用會越來越多 是什么力量促使嵌入式l i n u x 在這么短的時間就 讓包括一些專家在內(nèi)的用戶喜歡上它并使用它的呢 嵌入式l i n u x 究竟有什么 1 2 東北大學(xué)碩士學(xué)位論文第二章系統(tǒng)開發(fā)環(huán)境介紹 優(yōu)點是別的嵌入式操作系統(tǒng)無法比擬的昵 經(jīng)過一些簡單的分析 我們就很容易 得到嵌入式l i n u x 的優(yōu)點 這些優(yōu)點是非常明顯但是非常實際的 與其他的嵌入式操作系統(tǒng)相比l i n u x 的優(yōu)勢在于 l i n u x 源代碼是開放的 強(qiáng)大的網(wǎng)絡(luò)功能 靈活性 強(qiáng)大的開發(fā)者作后盾 強(qiáng)大的工具集 4 1 3 東北大學(xué)碩士學(xué)位論文第三章嵌入式系統(tǒng)模擬器下電子郵件的設(shè)計和實現(xiàn) 第三章嵌入式系統(tǒng)模擬器下電子郵件的設(shè) 計和實現(xiàn) 3 1 基于s m t p 和p o p 3 協(xié)議的電子郵件功畿的設(shè)計和實現(xiàn) 3 1 1 協(xié)議概述 電子郵件是使用最為廣泛的應(yīng)用層服務(wù)之一 許多用戶第一次接觸計算機(jī)網(wǎng) 絡(luò)就是發(fā)送電子郵件到遠(yuǎn)端網(wǎng)絡(luò)節(jié)點或從遠(yuǎn)端網(wǎng)絡(luò)節(jié)點接收電子郵件 t c p i i p 協(xié) 議族分開提供郵件報文格式和郵件傳輸?shù)臉?biāo)準(zhǔn) 目前 大部分i n t e m e te m a i l 系統(tǒng) 都使用簡單郵件傳輸協(xié)議 s i m p l e m a i l t r a n s f e r p r o t o c o ls m t p s m t p 已經(jīng)成為 應(yīng)用最廣泛的上層協(xié)議之一 s m t p 定義了一臺計算機(jī)上的郵件系統(tǒng)如何將郵件傳送到另一臺計算機(jī)上 與 大多數(shù)t c p i p 協(xié)議一樣 s m t p 協(xié)議也是一種純粹基于c s 計算機(jī)模型的應(yīng)用層 協(xié)議 s m t p 的協(xié)議模型包括 個發(fā)送器和一個接收器 兩者都要訪問一個文件系 統(tǒng)進(jìn)行信息存儲 盡管s m t p 并不提供絕對的端到端的可靠性的保障 但它仍然 能夠建立一個可以信賴的信息傳遞系統(tǒng) 因為它是基于t c p 傳輸協(xié)議之上的 這 也增加了它的可靠性 電子郵件信息的傳遞可以劃分為幾個階段 這幾個階段均由s m t p 協(xié)議模型 支持 如圖3 1 所示 從圖中我們可以看到 郵件是以文件的形式存儲的 對郵件 的操作都可以用文件的操作來完成 郵件發(fā)送的具體過程可以分以下四個步驟完 成 第一步 用戶向一個被稱為用戶代理的接口系統(tǒng)內(nèi)提供輸入信息 這個接口 便于郵件信息的進(jìn)入 第二步 信息被發(fā)送到s e n d e r s m t p 它為該過程分配一個任意的端口號并 與它的同層實體一r e c e i v e r s m t p 通過2 5 端口建立一個t c p 連接 在此連接建 立的過程中 接收者向發(fā)送者說明自己的身份 第三步 發(fā)送者就可以使用r f c 8 2 2 n 種描述的格式發(fā)送郵件信息了 最后 發(fā)送者發(fā)送終止連接消息 接收者對其進(jìn)行確認(rèn) 確認(rèn)完畢后 t c p 連接就被釋放 到這步 整個的發(fā)送過程就已經(jīng)完成 接收者就可以去接收此郵件了 當(dāng)然 在真正實現(xiàn)的過程中 還要考慮很多其它的因素 例如對于嵌入式上的郵件發(fā)送 就要考慮發(fā)送的效率 就是發(fā)送的速度要盡量的快 占用的資源要盡量的少 還 1 4 耋北大學(xué)碩士學(xué)位論文第三章嵌入式系統(tǒng)模擬器下電子郵件的設(shè)計和實現(xiàn) 有對于各個實時性很高的事件要及時的響應(yīng)等等 s e n d e r s m t p l j s m t p 發(fā)送者 命令 應(yīng)替 接收者 s m t p 和郵件 s m t p f 統(tǒng)廣 圖3 1s m t p 協(xié)議模型示意圖 f i 9 3 1m o d e lo f s m t p p r o t o c o l 前面介紹的s m t p 傳輸方案暗示服務(wù)器必須在任何時候做好接收電子郵件的 準(zhǔn)備 一旦用戶輸入郵件 服務(wù)器就試圖將其發(fā)送出去 如果服務(wù)器運(yùn)行在具有 永久互聯(lián)網(wǎng)連接的計算機(jī)上 則能夠做到這一點 但對于并非 直連接互聯(lián)網(wǎng)上 的計算機(jī) 則無法達(dá)到目的 考慮到一般的用戶 要永久連接到互聯(lián)網(wǎng)上是不現(xiàn) 實的 那樣 對于一個沒有永遠(yuǎn)連接的用戶是怎樣接收電子郵件的呢 這個問題的答案在于一個兩階段交付過程 在第一階段 在具有永久i n t e r a c t 連接的計算機(jī)上為每個用戶分配一個郵箱 這臺計算機(jī)運(yùn)行一個s m t p 服務(wù)器 s m t p 服務(wù)器一直準(zhǔn)備著接收電子郵件 在第二階段 用戶建立一個連接 然后運(yùn) 行一個從永久郵箱檢索郵件的協(xié)議 這個協(xié)議把郵件傳輸?shù)接脩羰褂玫挠嬎銠C(jī) 在這臺計算機(jī)上閱讀郵件 有兩個協(xié)議可允許遠(yuǎn)程用戶從永久郵箱檢索郵件 郵局協(xié)議 p o s t0 伍c e p r o t o c o lp o p 3 和網(wǎng)絡(luò)消息訪問協(xié)議 i n t e m e tm e s s a g ea c c e s sp r o t o c o li m a p 4 雖 然 您可以使用兩種協(xié)議的任何一種 但是 它們的能力和使用方法是差別很大 的 下面論文將介紹p o p 3 協(xié)議 i m a p 4 協(xié)議和這兩個協(xié)議之間的區(qū)別將在下部 分介紹 p o p 3 采用的是一種離線的模式 下面我們來看它是怎樣工作的 當(dāng)您打開郵 件程序時 它會先檢查是否已存在網(wǎng)絡(luò)連接 如果沒有 它就會建立 個連接通 道 通常是p p p p o i n t t o p o i n tp r o t o c o l 即點對點協(xié)議連接 然后 它會向p o p 3 服務(wù)器發(fā)出一個登錄請求 并把您的用戶名和密碼傳給服務(wù)器 如果服務(wù)器驗證 1 5 塑 壟主堡主堂壘笙查 苧三主壅全壟墨絲堡塑墨 皇量塹竺塑竺鹽查塞塾 合法 郵件程序就會把服務(wù)器上的郵件下載到本地 并刪除它們 這時 您就可 以斷開連接 閱讀這些郵件了 圖3 2 是p o p 3 協(xié)議模型示意圖 圖3 2p o p 3 協(xié)議模型示意圖 f 遮 3 2m o d e l o f p o p 3p r o t o c o l 初始時 服務(wù)器通過偵聽t c p 端口1 1 0 開始p o p 3 服務(wù) 當(dāng)客戶主機(jī)需要使 用服務(wù)時 它將與服務(wù)器主機(jī)建立t c p 連接 當(dāng)連接建立后 p o p 3 發(fā)送確認(rèn)消息 客戶和p o p 3 服務(wù)器相互 分別 交換命令和響應(yīng) 這一過程一直要持續(xù)到連接終 止 p o p 3 命令由一個命令和一些參數(shù)組成 所有命令以一個c r l f 對結(jié)束 命令 和參數(shù)由可打印的a s c h 字符組成 它們之間由空格間隔 命令一般是三到四個 字母 每個參數(shù)卻可達(dá)4 0 個字符長 p o p 3 響應(yīng)由一個狀態(tài)碼和一個可能跟有附加信息的命令組成 所有響應(yīng)也是 由c r l f 對結(jié)束 現(xiàn)在有兩種狀態(tài)碼 確定 o k 和 失敗 e r r 對于特定命令的響應(yīng)是由許多字符組成的 在這些情況中 下面一一表述 在發(fā)送第一行響應(yīng)和一個c r l f 之后 任何的附加信息行發(fā)送 他們也由c r l f 對結(jié)束 當(dāng)所有信息發(fā)送結(jié)束時 發(fā)送最后一行 包括一個結(jié)束字符 十進(jìn)制碼 4 6 也就是 和一個c r l f 對 如果信息中的任何一行以結(jié)束字符開始 此行 就是通過在那一行預(yù)先裝入結(jié)束而進(jìn)行字符填充的 因此 多行響應(yīng)由五個 c r l e c r l f 結(jié)束 當(dāng)檢測多行響應(yīng)時 客戶檢測以確認(rèn)此行是否以結(jié)束字符開始 如果是的 而且其后的字符不是c r l f 此行的第一個字符 結(jié)束字符 將被拋棄 如果其后緊跟c r l f 從p o p 服務(wù)器來的響應(yīng)終止 包括 c r l f 的行也不被認(rèn)為 是多行響應(yīng)的一部分了 在生命周期中 p o p 3 會話有幾個不同的狀態(tài) 一旦t c p 連接被打開 而且 p o p 3 服務(wù)器發(fā)送了確認(rèn)信息 此過程就進(jìn)入了 確認(rèn) 狀態(tài) 在此狀態(tài)中 客戶必 須向p o p 3 服務(wù)器確認(rèn)自己是其的客戶 一旦確認(rèn)成功 服務(wù)器就獲取與客戶郵件 1 6 墜學(xué)碩士學(xué)位論文 g 嵌入式系統(tǒng)模擬器下電子郵件的設(shè)計和實現(xiàn) 相關(guān)的資源 此時這 過程進(jìn)入了 操作 狀態(tài) 在此狀態(tài)中 客戶提出服務(wù) 當(dāng)客 尸發(fā)出q u i t 命令時 此過程進(jìn)入了 更新 狀態(tài) 在此狀態(tài)中 p o p 3 服務(wù)器釋放 在 操作 狀態(tài)中取得的資源 并發(fā)送消息 終止連接 p o p 3 服務(wù)器可以擁有一個自動退出登錄的記時器 此記時器必須至少可以記 錄1 0 分鐘 這樣從客戶發(fā)送的消息刁 可能刷新此記時器 當(dāng)記時器失效時 p o p 3 會話并不進(jìn)入 更新 狀態(tài) 而是關(guān)閉t c p 連接 而且不刪除任何消息 不向客戶 發(fā)送任何響應(yīng) 3 1 2 功能的設(shè)計和實現(xiàn) 3 1 2 1 功能的設(shè)計 在模擬器系統(tǒng)中 模擬了整個嵌入式系統(tǒng)的狀態(tài)和操作 e m a i l 功能是這個嵌 入式系統(tǒng)的一個基本的功能 圖3 3 是此模擬器系統(tǒng)中的e m a i l 功能的構(gòu)成圖 從 圖中我們可以看到 e m a i l 功能可以從m a i n m e n u e d i t m a i l b o x 等模塊中 啟動 然后通過發(fā)送接收模塊對e m a i l 的發(fā)送接收進(jìn)行控制 最后是解析郵件發(fā)送 和接收協(xié)議與服務(wù)器進(jìn)行通信 整個e m a i l 功能的核心部分就是對郵件發(fā)送和接收 過程中所使用t c p f l p 應(yīng)用層協(xié)議的解析 只要成功解析了各個協(xié)議 e m a i l 發(fā)送 和接收的功能也就相應(yīng)的完成了 最后的通信過程只不過是利用s o c k e t 進(jìn)行服務(wù) 器端和客戶機(jī)端進(jìn)行數(shù)據(jù)交換的過程 其間的數(shù)據(jù)交互的過程與協(xié)議無關(guān) 這樣 實現(xiàn)的好處就在于解析過程和通信過程完全的分開 模塊化就非常的好 相互之 間的影響非常的少 也就是說 解析過程中的問題不會影響通信過程 反之亦然 這對程序的編碼和測試都是非常有用的 從上面分析可以看到 e m a i l 功能實現(xiàn)的關(guān)鍵點就是在協(xié)議解析上 所有的數(shù) 據(jù)都是在這個部分處理的 而且又要與服務(wù)器進(jìn)行相關(guān)的通信 如果把這兩部分 功能放在一起處理的話 程序的結(jié)構(gòu)將非常復(fù)雜 而且也沒有通用性 所以非常 有必要把這兩部分分別處理 一個模塊專門用于協(xié)議數(shù)據(jù)的解析 而另一部分用 于與服務(wù)器通信 這樣在協(xié)議解析過程中就不用關(guān)心當(dāng)前的網(wǎng)絡(luò)狀態(tài) 而在服務(wù) 器通信過程中也只管接收數(shù)據(jù)而不用在乎是什么數(shù)據(jù) 錯誤信息和正確信息處理 在這里處理是完全一樣的 解析過程和通信過程分開處理可以保持程序的靈活性 而且代碼也比較容易理解 郵件發(fā)送過程的設(shè)計是按照r f c 2 5 5 4 1 6 的描述完成的 為了更好地說明郵件的 發(fā)送過程 可使用發(fā)送過程的時序圖 參照圖3 4 來說明服務(wù)器和客戶機(jī)交互的 過程 1 7 東北大學(xué)碩士學(xué)位論文第三章嵌入式系統(tǒng)模擬器下電子郵件的設(shè)計和實現(xiàn) 圖3 3e a l l 構(gòu)成圖 1 8 郵件發(fā)送接收模塊 i s m t pp r o p e l 模塊 s e r v e r 消息通知 發(fā)送新郵件 執(zhí)行e h l o 命令 r 2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋼鐵廠停電高爐安全維護(hù)
- 交通設(shè)施維護(hù)投標(biāo)指導(dǎo)
- 人力資源派遣協(xié)議書
- 旅游景區(qū)開發(fā)招投標(biāo)流程圖
- 兒童樂園物業(yè)管理軟件招標(biāo)書
- 體育館翻新工裝合同
- 建筑工程招投標(biāo)履約保證書
- 2024年高端醫(yī)療器械采購與銷售合同
- 2025土地承包合同終止范本版
- 智能金融電力供應(yīng)協(xié)議準(zhǔn)則
- 蘇教版小學(xué)六年級信息技術(shù)全冊教案
- 《鄉(xiāng)土中國》第12-14章
- 軌道交通先張法預(yù)應(yīng)力U型梁預(yù)制施工工法
- 人教版英語四年級上冊《Unit-3-My-friends》單元教學(xué)課件
- 重慶市康德卷2023-2024學(xué)年物理高二上期末綜合測試試題含解析
- 工程變更矩陣圖
- 七年級音樂下冊 第4單元《北京喜訊到邊寨》課件1 花城版
- 飛行員獻(xiàn)身國防志愿書1000字
- 農(nóng)村土地買賣合同協(xié)議書范本
- GB/T 42828.2-2023鹽堿地改良通用技術(shù)第2部分:稻田池塘漁農(nóng)改良
- 急性腎衰竭診療規(guī)范內(nèi)科學(xué)診療規(guī)范診療指南2023版
評論
0/150
提交評論