freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于uclinux的電子郵件客戶端設計與實現(xiàn)畢業(yè)論文-wenkub.com

2025-06-20 05:51 本頁面
   

【正文】 Linux的網(wǎng)絡化監(jiān)控系統(tǒng)的設計[J] .[5] 韋宇,陳志剛.[6] [N]. (4)[7] 殷肖川,劉志宏,姬偉峰,[M] .西安:[8](美)湯普生(Thompson,).,[9] W Richard Stevens. UNIX Network Programming〔M〕. Upper Saddle River ,NJ :Prentice Hall PTR ,1998[10] Simple Mail Transfar Protocol〔S〕.RFC,821 謝辭在論文即將完成之際我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!特別是我的指導老師李悛老師給了我很大的幫助,是他在我遇到困難的時候引領著我一步一步的克服難點終于完成了這一畢業(yè)論文,感謝李老師謝謝您。目前,基于三星S3C4510b與uClinux下POP3客戶端已經(jīng)實現(xiàn),而基于S3C44B0與uClinux下POP3客戶端的實現(xiàn)尚不多見。上面的代碼實現(xiàn)了郵件服務器客戶端的一些基本操作和功能。在對用戶選項進行配置的時候,在config/。 return 。 //關閉 SOCKET shutdown(0,0)。\039。((num2num1)==1)) break。 if(strcmp(buf_recv,\r)==0)num2=n。){ n++。 memset(buf_recv5,39。 strcat(dest,number)。\039。 r=memcmp(dest,yes,2)。 or 39。\039。 //if(n=2604)break。 if(strcmp(buf_recv,\n)==0)num3=n。 recv(m_socket,buf_recv,1,0)。\039。 strcat(dest,\r\n)。,strlen(dest)1)。 printf(Please input the number of :)。amp。 if(strcmp(buf_recv,\.)==0)num1=n。 for(。}//如果密碼發(fā)送不正確,返回值不是OK,則報錯 // printf(password(buf_recv4): )。){ recv(m_socket,buf_recv,1,0)。 strcat(destpass,password)。 printf(please input password:)。 if(strcmp(buf_recv,\n)==0)break。r=send(m_socket,destuser,sizeof(destuser),0)。 strcat(destuser,USER)。 strcat(buf_recv2,buf_recv)。sin,sizeof(sin))==SOCKET_ERROR){ printf(connect server socket_error!.\n)。m_socket=socket(AF_INET,SOCK_STREAM,0)。//設置端口printf(input server IP:)。int err,r,n=0,num1,num2,num3。char buf_recv2[110]。char dest[20]。char username[20]。int m_socket。 客戶如果想看某個郵件的內(nèi)容,通過輸入郵件編號,服務器會列出該編號的郵件內(nèi)容。當連接建立后,POP3發(fā)送確認消息。2不允許繼續(xù)發(fā)送和接收數(shù)據(jù),  Sockfd是需要關閉的socket的描述符?! ∫部梢哉{(diào)用shutdown()函數(shù)來關閉該socket。Recvfrom()函數(shù)返回接收到的字節(jié)數(shù)或 當出現(xiàn)錯誤時返回1,并置相應的errno?! ecvfrom()函數(shù)原型為:  int recvfrom(int sockfd,void *buf,int len,unsigned int flags,struct sockaddr *from,int *fromlen)。由于本地socket并沒有與遠端機器建立連接,所以在發(fā)送數(shù)據(jù)時應指明目的地址。  Sockfd是接受數(shù)據(jù)的socket描述符;buf 是存放接收數(shù)據(jù)的緩沖區(qū);len是緩沖的長度。 int len, bytes_sent?! end()函數(shù)返回實際上發(fā)送出的字節(jié)數(shù),可能會少于希望發(fā)送的數(shù)據(jù)?! ∈紫?當accept函數(shù)監(jiān)視的socket收到連接請求時,socket執(zhí)行體將建立一個新的socket,執(zhí)行體將這個新socket和請求連接進程的地址聯(lián)系起來,收到服務請求的初始socket仍可以繼續(xù)在以前的socket上監(jiān)聽,同時可以在新的socket描述符上進行數(shù)據(jù)傳輸操作。在建立好輸入隊列后,服務器就調(diào)用accept函數(shù),然后睡眠并等待客戶的連接請求。Backlog對隊列中等待 服務的請求的數(shù)目進行了限制,大多數(shù)系統(tǒng)缺省值為20。面向連接的服務器也從不啟動一個連接,它只是被動地在協(xié)議端口監(jiān)聽客戶的請求。進行客戶端程序設計無須調(diào)用bind(),因為這種情況下只需知道目的機器的IP地址,而客戶通過哪個端口與服務器建立連接并不需要關心,socket執(zhí)行體為程序自動選擇一個未被占用的端口,并通知程序數(shù)據(jù)什么時候到達端口。需要注意的是,在調(diào)用bind函數(shù)時一般不要將端口號置為小于1024的值,因為1到1024是保留端口號,你可以選擇大于1024中的任何一個沒有被占用的端口號。htonl():把32位值從主機字節(jié)序轉換成網(wǎng)絡字節(jié)序注意在使用bind函數(shù)是需要將sin_port和sin_addr轉換成為網(wǎng)絡字節(jié)優(yōu)先順序;而sin_addr則不需要轉換?! ∈褂胋ind函數(shù)時,可以用下面的賦值實現(xiàn)自動獲得本機IP地址和隨機獲取一個沒有被占用的端口號:   = 0。 /* 填充0 以保持與struct sockaddr同樣大小 */  }?! ×硗膺€有一種結構類型:  struct sockaddr_in {   short int sin_family。struct sockaddr結構類型是用來保存socket信息的:  struct sockaddr {unsigned short sa_family。無連接socket的客戶端和服務端以及面向連接socket的服務端通過調(diào)用 bind函數(shù)來配置本地信息。 兩個網(wǎng)絡程序之間的一個網(wǎng)絡連接包括五種信息:通信協(xié)議、本地協(xié)議地址、本地主機端口、遠端主機地址和遠端協(xié)議端口。 Socket()調(diào)用返回一個整型socket描述符,可以在后面的調(diào)用使用它。最后,待數(shù)據(jù)傳送結束后,雙方調(diào)用close()關閉套接字。具有一系列的數(shù)據(jù)糾錯功能,可以保證在網(wǎng)絡上傳輸?shù)臄?shù)據(jù)及時、無誤地到達對方。2)Socket的通信端口:用于確定通信目的計算機的應用程序進程。經(jīng)過連接后。在編譯成功后,進行整個操作系統(tǒng)的性能測試,當uClinux功能滿足要求時, bank0對應的Flash存儲器中,當系統(tǒng)復位或上電時,內(nèi)核自解壓到SDRAM并運行。內(nèi)核配置完成后,緊接著是配置用戶選項,如圖47所示: uClinux配置環(huán)境然后按照所需進行配置,直到配置最后完成,最后進行保存。 .配置內(nèi)核完成以上工作后,接下來可進行內(nèi)核的配置。下面是移植的主要步驟: 安裝uClinux移植包在進行uClinux移植時,選用一個與自己系統(tǒng)相近并且已經(jīng)成功的進行了uClinux操作系統(tǒng)移植的uClinux包將大大簡化uClinux的移植過程。 Tue,04 Dec 2005 18:49 +0800Date:Tue,04 Dec 2004 18:49 +0800From: Mdaemon XMDSendNotificationsTo:[trash]Subject:Wele to the system for domain To: wangReplyTo: MdaemonMessageID:Mime Version:ContentType:text/plain。最后以一個句點“.”表示結束??蛻羝鳎篖IST服務器:+OK取出郵件:RETR該命令用于取出指定郵件號的郵件。LIST指定的郵件如果被刪除或不存在,則出錯:客戶機:LIST 3服務器:ERR no such message ,only message 1 thru 1 are present in your inbox如果LIST不帶參數(shù),例如:客戶機:LIST服務器將返回多行應答。STAT命令僅在務狀態(tài)是可用的??蛻魴C:NOOP服務器:+OK成功返回+OK,失敗返回ERR。如果用戶不是通過QUIT命令關閉連接而是在客戶端進行強行關閉,則在事務狀態(tài)標記刪除的郵件并沒有被刪除。退出:QUIT該命令終止會話,斷開與服務器的連接。除了因為密碼和用戶信箱不匹配外,如果服務器不能獲得對信箱的獨占訪問鎖,服務器也應答一個錯誤,并且保持在驗證狀態(tài)中。該命令用來為USER命令指定的信箱提供密碼。大多數(shù)POP服務器的USER命令還是需要的??蛻魴C:USER用戶信箱服務器:+OK在成功連接POP3服務器后,客戶端要發(fā)送“user+用戶名”的命令進行驗證,如果成功則返回+OK的應答,如果失敗,則返回ERR。這種離線訪問模式是一種存儲轉發(fā)服務,將郵件從郵件服務器端送到個人終端機器上,一般是PC機或MAC。創(chuàng)建一個分布式電子郵件系統(tǒng)有多種不同的技術支持和途徑:POP(郵局協(xié)議)、DMSP(分層式電子郵件系統(tǒng)協(xié)議)和 IMAP(因特網(wǎng)信息訪問協(xié)議)。安裝其他工具用GCC編譯elf2flt源碼,生成格式轉換工具elf2flt。編譯調(diào)試工具gdb重新編譯完整的編譯工具gcc編譯該平臺的glibc庫編譯自舉的編譯工具gcc生成匯編器、連接器、庫處理工具等準備硬件環(huán)境頭文件IPC環(huán)境工具和庫等 圖 交叉開發(fā)環(huán)境搭建流程圖 安裝uCLinux內(nèi)核利用已安裝的交叉編譯器編譯生成運行在目標機上的uCLinux內(nèi)核。elf格式的編譯器比coff格式的編譯器有許多優(yōu)越性,本課題采用m68kelf交叉編譯器。使用交叉編譯器是嵌入式軟件的固有特征,在linux下利用for ARM的linux工具鏈生成的這個編譯環(huán)境不僅能夠對符合gnuc標準的的c語言編譯,而且能夠識別ARM的指令系統(tǒng),對ARM的匯編語言進行編譯,支持c和匯編的混合編譯,生成所需要的文件及文件格式。雙方之間一般通過串口建立連接關系?;趗Clinux操作系統(tǒng)的應用開發(fā)環(huán)境一般是由目標系統(tǒng)硬件開發(fā)板和宿主PC機構成。:內(nèi)核及內(nèi)核移植內(nèi)核調(diào)試系統(tǒng)調(diào)試應用程序 圖 uClinux的移植所謂移植,就是使一個實時內(nèi)核能在某個微處理器或微控制器上運行。 。: S3C44B0X 可以對 8 個 bank 空間進行尋址,每個 bank 的最大空間為 32MB.(總共 256Mbyte) 。8 通道 10 位 ADC 輸入;看門狗定時器;2 通道 UART 帶有握手協(xié)議(支持 ,具有 16Byte FIFO)和 1 通道 SIO; 供電的 ARM7TDMI 內(nèi)核,帶 8KB 的高速緩沖器; 第二章 嵌入式開發(fā)軟硬件平臺基于ARM7處理器和uclinux操作系統(tǒng)的嵌入式開發(fā)平臺包括硬件開發(fā)平臺和軟件開發(fā)平臺兩個部分?,F(xiàn)在嵌入式操作系統(tǒng)已經(jīng)發(fā)展到第四階段是以基于Internet為標志的嵌入式系統(tǒng),這是一個正在迅速發(fā)展的階段。從八十年代末開始,陸續(xù)出現(xiàn)了一些嵌入式操作系統(tǒng),比較著名的有Vxwork, pSOS, Nucleus和Windows CE。. 嵌入式開發(fā)嵌入式系統(tǒng)是以應用為中心,軟硬件可裁減,適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗等綜合性嚴格要求的專
點擊復制文檔內(nèi)容
教學教案相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1