版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)報告課程名稱:計算機(jī)網(wǎng)絡(luò)編程學(xué) 院:計算機(jī)科學(xué)與工程學(xué)院 專 業(yè):計算機(jī)科學(xué)與技術(shù) 指導(dǎo)教師:學(xué)生:田茂學(xué) 號:04實(shí)驗(yàn)成績: 日 期:2021年行月電子科技大學(xué)計算機(jī)學(xué)院實(shí)驗(yàn)中心電子科技大學(xué)實(shí)驗(yàn)報告一、實(shí)驗(yàn)四:實(shí)驗(yàn)工程的名稱:針對Time效勞的UDP效勞器軟件的實(shí)現(xiàn)二、實(shí)驗(yàn)室名稱:主樓A2-412實(shí)驗(yàn)時間:第十三周周日三、實(shí)驗(yàn)?zāi)康模?掌握UDP效勞器端軟件的工作原理。2. 掌握針對TIME效勞的UDP效勞器端軟件的編程步驟和編程實(shí)現(xiàn),并最終 形成可執(zhí)行代碼。四、實(shí)驗(yàn)原理:TCP/IP定義一種效勞,它允許一臺機(jī)器從另外一臺機(jī)器獲得當(dāng)前的時間和日 期,該效勞正式命名為惡TIMEo效勞器只要收
2、到請求,就從本地的操作系統(tǒng)中 獲取當(dāng)前的日期和時間,使用標(biāo)準(zhǔn)的格式編碼該信息,然后在響應(yīng)中發(fā)給客戶。效勞器端的過程可以分為以下幾個步驟:初始化套接字;創(chuàng)立套接字,需 要兩個套接字及客戶端和效勞器端的套接字;綁定效勞器,該函數(shù)用于綁定效勞 器套接字;監(jiān)聽效勞器,該函數(shù)用于監(jiān)聽效勞器;接收客戶端請求返回值為客 戶端的套接字,參數(shù)為效勞器套接字;接收客戶端數(shù)據(jù);關(guān)閉套接字。五、實(shí)驗(yàn)容:本實(shí)驗(yàn)主要完成針對TIME效勞的UDP效勞器軟件的實(shí)現(xiàn),要求該效勞器向客 戶提供TIME效勞。實(shí)驗(yàn)容包括:1、編程環(huán)境的準(zhǔn)備,要求在Linux操作系統(tǒng)下安裝GCC或CC編譯器。2、利用編輯器編寫客戶軟件代碼(編輯器自選
3、,如文本編輯器,或Linux的Vi等)3、利用GCC編譯器調(diào)試并形成可執(zhí)行代碼4、運(yùn)行效勞器程序,驗(yàn)證功能實(shí)現(xiàn)。5、在客戶機(jī)上運(yùn)行TIME客戶端軟件,向效勞器請求TIME效勞。姓名:田茂學(xué)號;六、實(shí)驗(yàn)器材設(shè)備、元器件:Ubtuntu1404操作系統(tǒng);gcc編譯工具;ScureCRT I具七、實(shí)驗(yàn)步驟:1、在Windows機(jī)上安裝Linux環(huán)境,在Vmware下安裝Ubuntu,利用編輯器 編寫源程序,以下為vi例如。2、利用編輯器編寫源程序File Edit View Options Transfer Script Tools Window HelpSQS3?SEriterh05t <A
4、lt+R> '7 唱器忌洛白囹逐丫 ©貝一229 (2) X<1File Edit View Options Transfer Script Tools Window Help&需門釦蟲!Enter ho5t MZd力囹靄t“229 (2) X<welcome to ubuntu 14.04 LTS (GNU/linux 3 13.024gRriEiu x86 64j口 Documentation: https :/halpuburttu uom/636 packages can be update
5、d.249 updates are security updatesLast "login: Sun Nov 8 23 :18:53 2 015 from 192.168. 220.1 11anmaowirtual-machine $ |3 源代碼如下:include <stdio.h>include <stdlib.h>#inelude <unistdh>#inelude <string.h>#inelude <stdargh>#inelude <sys/typesh>#inelude <sys/sock
6、eth>#inelude <netinet/in.h>#inelude <arpa/ineth>#inelude <netdb.h>#inelude <errno.h>define UNIXEPOCH 2208988800ULextern int errno;unsigned short portbase = 0;int errexit(const char *format,.);int passivesock(const char *service, const char transport, int qlen);int passiveU
7、DP(const char Service);int main(int argc, char *argv)char *service= "time"struct sockaddrjn fsin;char buf1;int sock;time_t now;unsigned int alen;switch (argc)case 1:break;case 2:service 二 argv1;break;default:errexit(Husage: UDPtimed portn");sock=passiveUDP(sernce);v/hile(1)alen 二 size
8、of(fsin);if(recvfrom(sock,buf,sizeof(buf),Obstruct sockaddr *)&fsin,&alen)<0) errexit(Hrecvfrom: %snM,strerror(errno);(void)time(ftnov/);nov=htonl(unsigned Iong)(now+UNIXEPOCH);(void)sendto(sock,(char*)&nov/,sizeof(now),0,(struct sockaddr *)&fsin,sizeof(fsin); int errex讓(const cha
9、rva_list arg;va_start(arg, format);4printf (stderr; format,arg);va_end(arg);exit(1);int passivesock(const char Service, const char *transport, int qlen)struct servent*pse;struct protoent *ppe;struct sockaddrjn sin;int s, type;memset(ftsin, 0, sizeof(sin);sin.sin= AFJNET;sin.sin_addr.s_addr = INADDR_
10、ANY;if ( pse = getser/byname(service, transport)sin.sin_port = htons(ntohs(unsigned short)pse->s_port)+ portbase); elseif (sin.sin_port=htons(unsigned short)atoi(service)+portbase) = 0) errexitC'can't create passive service %d n",sin.sin_port);if ( (ppe = getprotobyname(transport) =
11、0)errexitC'can't get "%su protocol entrynu, transport);if (strcmp(transport, "udp") = 0)type = SOCK_DGRAM;elsetype = SOCK.STREAM;s = socket(PFJNET, type, ppe->p_proto);if (s < 0)errexitfan't create socket: %snM, strerror(errno);if (bind(s, (struct sockaddr J&sin,
12、 sizeof(sin) < 0)errexitfan't bind to %s port: %snH, service,strerror(errno);if (type = SOCK-STREAM && listen® qlen) < 0)errexitfan't listen on %s port: %snM, service,strerror(errno);return s;int passiveUDP(const char *service)return passivesock(serviceudp”,0);4.編譯并調(diào)試程序切換到
13、源代碼所在的目錄,使用GCC指令進(jìn)展編譯$ GCC o timers time_s.c可修編. ® 整 tianmao(a>virtual-machine: -/workplacetiamachine; $ cd /workplace tta nmaov'tt:iJElniachin:/wokplace$ echoic echoic.c echo_c.c- echoes ttanmaovtrtual nachlne:-/workplaces ttanmaovtrtual-machine:-/workplaces gcc: error: UDPttne.cd: No su
14、ch file gcc: fatal error: no input files compilation terminated. ttanmaovtrtual machine:-/workplace tta nneovtt:iJ3ld8chine:/vvokplaice$ echoic echoic.c_ttanmaovirtualmachine:-/workplaces 0Isecho_sc echoes.u UDPttme.c UDPtimedc gcc -o UDPtime UDPtime.cgcc -o UDPtimed UDPtine.cdor directorygcc -o UDP
15、timed UDPtimed.c Isecho_c. c- echo_s.cz UDPtine UDPtimed echo s echo s.c- UDPtime.c UDPtimed.c八、實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析:在源程序所在的目錄鍵A./time_s,同時鍵A./time_c命令,得到下面的運(yùn)行結(jié)果:® 勺 tianmaovirtual-machine: -/workplacettanmaovirmachine:$ pwd/home/ttanmaottann30/lt:u«alm3c:hinQ:$ cd /workplacetianmaovirtualiTidc:hinei
16、;/wQkpl0c:e$ Isechoicecho_c.c echoes.cUDPtineUDPtimedecho c.c echo secho s.c UDPttme.c UDPtimed.cMBStianm3Qvlt:u3liTiec:hinei;/wokplac$ /UDPtimedcdrVt bind to time port: Permission dentedttanni30vlt:u3lmac:hinQ::/wokplac$ sudo . /UDPtimed sudo password for tianmeQ; 0 Q tianmao(3)virtuabmachine: -/workplacetianmaovlrtu3lnec:hine:$ pwd/home/tta nrnaottannBOvltualmachine:$
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版出租車投資入股及品牌拓展合同3篇
- 二零二五年建筑工程安全施工協(xié)議書范本3篇
- 2024甲乙雙方就新產(chǎn)品研發(fā)項(xiàng)目所簽訂的技術(shù)秘密保護(hù)合同
- 2024版合作社商用物業(yè)租賃協(xié)議范本版B版
- 二零二五年能源公司股份代持與能源項(xiàng)目合作協(xié)議3篇
- 2024遼寧事業(yè)單位聘用合同書
- 2024版場地租賃協(xié)議書模板
- 二零二五年道路運(yùn)輸安全生產(chǎn)責(zé)任合同3篇
- 二零二五年文化場館建設(shè)項(xiàng)目勞務(wù)分包合同3篇
- 二零二五版二手房交易傭金及稅費(fèi)代理合同3篇
- 供銷合同(完整版)
- 二零二五年企業(yè)存單質(zhì)押擔(dān)保貸款合同樣本3篇
- 鍋爐安裝、改造、維修質(zhì)量保證手冊
- 油氣行業(yè)人才需求預(yù)測-洞察分析
- (2024)河南省公務(wù)員考試《行測》真題及答案解析
- 1000只肉羊養(yǎng)殖基地建設(shè)項(xiàng)目可行性研究報告
- 《勞保用品安全培訓(xùn)》課件
- 2024版房屋市政工程生產(chǎn)安全重大事故隱患判定標(biāo)準(zhǔn)內(nèi)容解讀
- 2024院感年終總結(jié)報告
- 高一化學(xué)《活潑的金屬單質(zhì)-鈉》分層練習(xí)含答案解析
- 04S206自動噴水與水噴霧滅火設(shè)施安裝圖集
評論
0/150
提交評論