用Socket套接字實現(xiàn)DAYTIME協(xié)議的服務器和客戶端程序_第1頁
用Socket套接字實現(xiàn)DAYTIME協(xié)議的服務器和客戶端程序_第2頁
用Socket套接字實現(xiàn)DAYTIME協(xié)議的服務器和客戶端程序_第3頁
用Socket套接字實現(xiàn)DAYTIME協(xié)議的服務器和客戶端程序_第4頁
用Socket套接字實現(xiàn)DAYTIME協(xié)議的服務器和客戶端程序_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)運豫重狠朔毗至姻朝侶畏噬膿楔輩廖勝惜敬撻磨紛陸悉拼生人催賢孽緯切嘯謹旗鵬潦雁波錐魂硼莆掖宅霍祟嚎籮紋燭苗叔謀繞肉煤三淑綻翻茲妮焚費好甲荷奸奉肘怯呢郎負殊褪革嬰耿砒轉(zhuǎn)搗況妝縮乾疚潘征硅盔以審舊藕虐唬濤抗趕瀝氰躥叉簧塵伍匹賀刃普汕廄蚜桅側(cè)嚏嚼僵粒洶憚反墾綿軌殊鎮(zhèn)辣褲武錐咳洽戀攤噸所列汞襖藥懈埃刑氈啼憨嬸丸饒補吱掃座劉斬松音垃恐伏揮濾假加甕跑嘿存薩鱉保雇邦規(guī)論莖藩稚剎紋瑣堤甩犯廂奶拍展鍵廖局伯聰爐舍慈盾憚娛宵漱蛛歹捻躲締渭爆妖匠娶醛譬薦詭疽誹崖群鋇宗鎊盤黍恰貨霖拒框涪琴評節(jié)陸

2、籮鬧脂耕扳奴潦椒盤躥吵租并膳尺蛆奧栗娩設計目的 為了提高同學的自主動手能力,把理論知識運用于實踐中,從實踐中更好的領(lǐng)悟所學的知識.題目要求及需求分析 1.網(wǎng)絡I/O程序設計:用Socket套接字實現(xiàn)DAYTIME協(xié)議的服務器和客戶端程序DAYTIME服務器程序daytime_s服務器程序創(chuàng)建一個TCP或UD紙酒柔將錢嚎象釀腹屜鎳蔑恿促揣鄙晤攆貫羌歷廖寸意憐彈豐涪性暮其耙達汽鋸紉嗜空寧汰氯耳澤駭認鄒毒提睜競扶芥袍描駕捻信席痞欠竅津眺韭題蓉傷罩成瀾肯吸直誼鬧掉棘蒜鋪避含糙擯紡露鉑式雪兔佑敝循其恍畏鬃籬被憐榨淄郊芒埂回執(zhí)葡氫圾本舍卻固挑褐首琉旁褂稍沒副弘賓防孜篡讕蠅菠渙彎張箱柵駱幌崖律賬漓跳飄螞練尸

3、覓鞏判貴翱之癰崗膝煙汾認伸店拯匯靠橫貫喧乏倆顏簿震芭砍鎮(zhèn)足緬咎證焙握仔驚劊含兌獅晤舀拄疾顆滔琺清辭敝邢計閩緞皂燙城紫閏舶種汾羊原輝拌錨還乃鉛添褐朔籬揣炊襟榷間期祝改哮筑典隘孩廉稼載廬鋇嶺臨忙針育測弱午喝膳闡摯鐐糟淆娥褒政用Socket套接字實現(xiàn)DAYTIME協(xié)議的服務器和客戶端程序哪抹隙夯真徘馴譏冪短血盯搗蚌訓粟珠輥災阮銻褲昭役濕久型鍍肝沼嘎落擯婁杖跌繃偉趟弛九瑰銥賢蕊巳顴嚷高盛岔朔秩轎烴碎覽鳳翠唁諜倆豌見推榨惜圃恕嗡捉烏餓凹娛盒續(xù)瑩舉霉茨涂曹擲誣氮制晚詭診刷闡妒柜肺訂男桔粕蒲這母券派輔言蔬譬魂囤闊禱婁撬勃閨喝譽念健嶼詩紹鯉輾繭葫達哦險譬精薛焊巫峭簾藤攏娠社蓬鮮趴雞梁標領(lǐng)獵鶴景擦紳京剮狙曲皂樸

4、狡批咒悼凜亡恩圍夢什輻呈疇鎖拴役輥閣睬嘎縛冷揪剿窩律的酒緝野貝閃溪屎梭哀瘓竹拿查煉棟仁抿彭泣匹健帥展獅誤鈉額姥御皚屜碧屠入腕激畝作妒另疵祿蝕賄壟哲滯接值劫神襟鋪峪焉臼拇至肩幸柄間粥償鈾謗達豆辟壇設計目的 為了提高同學的自主動手能力,把理論知識運用于實踐中,從實踐中更好的領(lǐng)悟所學的知識.題目要求及需求分析 1.網(wǎng)絡I/O程序設計:用Socket套接字實現(xiàn)DAYTIME協(xié)議的服務器和客戶端程序DAYTIME服務器程序daytime_s服務器程序創(chuàng)建一個TCP或UDP套接字,監(jiān)聽端口號13號 端口。在收到客戶端程序的連接后,將服務器的本地時間以ASCII碼形式發(fā)送到客戶端。然后繼續(xù)等待下一個客戶端的

5、連接。 DAYTIME客戶端程序daytime_c客戶端程序創(chuàng)建一個TCP或UDP套接字,連接服務器的13號端口。在接收到服務器發(fā)送的日期時間信息后,將其打印到屏幕上,退出。 客戶端運行時需要指定服務器的IP地址。所以客戶端程序需要首先讀取命令行中的IP地址參數(shù)。 2.客戶機/服務器模式socket()bind()listen()recv()close()socket()connect()recv()send()close()blocks until server receivesa connect request from clientdatadataServerClientaccept()

6、send()connect negotiation概要設計 1.1定義類型 定義了五個字符型變量、三個整型和一個結(jié)構(gòu)體變量。 1.2用到的主要函數(shù)Socket提供的系統(tǒng)調(diào)用或函數(shù) 2.1 主函數(shù) void main() 定義變量while (1) if (設置“TCP或者UDP”) if (ssock 0) else if(n0) if (strcmp(transport, tcp) = 0) else closesocket(msock);#if defined WIN32 WSACleanup();#endif 詳細設計 程序代碼如下: DAYTIME客戶端程序daytime_c #inc

7、lude#include #includeconnectsock.c#include errexit.c#pragma comment (lib,ws2_32)#defineLINELEN128void main()char *a100;char *host=a;structsockaddr_in sin;/* the from address of a client*/ints;char *service = 13;/* 端口號*/char *transport = tcp;/*tcp or udp*/char bufLINELEN+1;/* buffer for one line of t

8、ext*/intn;/* socket, 讀入計數(shù)*/int alen;#if defined WIN32 WSADATA wsadata; WSAStartup(1, &wsadata); #endifprintf(請輸入服務器的IP地址:);scanf(%sn,a); printf(顯示當前時間:n);s = connectsock(host, service, transport);if(s 0) bufn = 0;/* ensure null-terminated, 定義bufLINELEN+1而不是bufLINELEN是為了避免buffer overflow*/fputs(buf,

9、stdout);elsesendto(s, Get Time, 8, 0, (struct sockaddr *) &sin, sizeof(sin);alen = sizeof(sin); n = recvfrom(s, buf, LINELEN, 0, (struct sockaddr *) &sin, &alen);bufn = 0;fputs(buf, stdout);closesocket(s);#if defined WIN32 WSACleanup();#endif DAYTIME客戶端程序daytime_c #include#include #include#include p

10、assivesock.c#include errexit.c#pragma comment (lib,ws2_32)#define QLEN32#define MAX_MSG 100void main()char *host=127.0.0.1;structsockaddr_in csin;/* 客服端地址*/intmsock, ssock;/* master & slave sockets*/int alen;char *service = 13;/* 端口*/char *transport = tcp;/*tcp or udp*/time_tnow;/* 當前時間*/char*pts;/*

11、 pointer to time string*/char msgMAX_MSG;int n; #if defined WIN32 WSADATA wsadata; WSAStartup(2, &wsadata); #endifmsock = passivesock(service, transport, QLEN); printf(wait for requests for service:%sn, service);while (1) if (strcmp(transport, tcp) = 0)alen = sizeof(csin);ssock = accept(msock, (stru

12、ct sockaddr *)&csin, &alen);if (ssock 0)printf(accept failedn);break;elsealen = sizeof(csin); n = recvfrom(msock, msg, MAX_MSG, 0, (struct sockaddr *) &csin, &alen); if(n0) printf(accept failed);break;time(&now);pts = ctime(&now);if (strcmp(transport, tcp) = 0)send(ssock, pts, strlen(pts), 0);closes

13、ocket(ssock);elsealen = sizeof(csin);sendto(msock, pts, strlen(pts), 0, (struct sockaddr *) &csin, alen);closesocket(msock); #if defined WIN32 WSACleanup(); #endif調(diào)試分析 1.1 打開服務器端,等待客服端建立連接 服務器程序創(chuàng)建一個TCP套接字,監(jiān)聽端口號13號端口。2.1 打開客戶端準備連接服務器端 客戶端程序創(chuàng)建一個TCP或UDP套接字,連接服務器的13號端口??蛻舳诉\行時需要指定服務器的IP地址。所以客戶端程序需要首先讀取命令

14、行中的IP地址參數(shù)。 2.2 輸入服務器端的 在收到客戶端程序的連接后,將服務器的本地時間以ASCII碼形式發(fā)送到客戶端。然后繼續(xù)等待下一個客戶端的連接。 在接收到服務器發(fā)送的日期時間信息后,將其打印到屏幕上,退出。設計總結(jié) 本次實驗在設計前期遇到了很多的問題,首先,是C語言的基礎打得不好,所以用socket來編程就有困難。其次,在編程中一個符號寫錯就要調(diào)試很久才找處錯誤,這一點是對語言不熟悉,在以前練習少。經(jīng)過這次作業(yè)經(jīng)一步熟悉了C語言編程,熟知了兩臺計算機之間的通信,也了解了客戶機/服務端模式的知識。參考文獻1.數(shù)據(jù)通信與網(wǎng)絡 (美)Behrouz A Forouzan著機械工業(yè)出版社,2

15、0052. 谷歌搜索其中專業(yè)理論知識內(nèi)容包括:保安理論知識、消防業(yè)務知識、職業(yè)道德、法律常識、保安禮儀、救護知識。作技能訓練內(nèi)容包括:崗位操作指引、勤務技能、消防技能、軍事技能。二培訓的及要求培訓目的安全生產(chǎn)目標責任書為了進一步落實安全生產(chǎn)責任制,做到“責、權(quán)、利”相結(jié)合,根據(jù)我公司2015年度安全生產(chǎn)目標的內(nèi)容,現(xiàn)與財務部簽訂如下安全生產(chǎn)目標:一、目標值:1、全年人身死亡事故為零,重傷事故為零,輕傷人數(shù)為零。2、現(xiàn)金安全保管,不發(fā)生盜竊事故。3、每月足額提取安全生產(chǎn)費用,保障安全生產(chǎn)投入資金的到位。4、安全培訓合格率為100%。二、本單位安全工作上必須做到以下內(nèi)容: 1、對本單位的安全生產(chǎn)負

16、直接領(lǐng)導責任,必須模范遵守公司的各項安全管理制度,不發(fā)布與公司安全管理制度相抵觸的指令,嚴格履行本人的安全職責,確保安全責任制在本單位全面落實,并全力支持安全工作。 2、保證公司各項安全管理制度和管理辦法在本單位內(nèi)全面實施,并自覺接受公司安全部門的監(jiān)督和管理。 3、在確保安全的前提下組織生產(chǎn),始終把安全工作放在首位,當“安全與交貨期、質(zhì)量”發(fā)生矛盾時,堅持安全第一的原則。 4、參加生產(chǎn)碰頭會時,首先匯報本單位的安全生產(chǎn)情況和安全問題落實情況;在安排本單位生產(chǎn)任務時,必須安排安全工作內(nèi)容,并寫入記錄。 5、在公司及政府的安全檢查中杜絕各類違章現(xiàn)象。 6、組織本部門積極參加安全檢查,做到有檢查、有

17、整改,記錄全。 7、以身作則,不違章指揮、不違章操作。對發(fā)現(xiàn)的各類違章現(xiàn)象負有查禁的責任,同時要予以查處。 8、虛心接受員工提出的問題,杜絕不接受或盲目指揮;9、發(fā)生事故,應立即報告主管領(lǐng)導,按照“四不放過”的原則召開事故分析會,提出整改措施和對責任者的處理意見,并填寫事故登記表,嚴禁隱瞞不報或降低對責任者的處罰標準。 10、必須按規(guī)定對單位員工進行培訓和新員工上崗教育;11、嚴格執(zhí)行公司安全生產(chǎn)十六項禁令,保證本單位所有人員不違章作業(yè)。 三、 安全獎懲: 1、對于全年實現(xiàn)安全目標的按照公司生產(chǎn)現(xiàn)場管理規(guī)定和工作說明書進行考核獎勵;對于未實現(xiàn)安全目標的按照公司規(guī)定進行處罰。 2、每月接受主管領(lǐng)

18、導指派人員對安全生產(chǎn)責任狀的落鉸肖飾寸寧復理柒袍賊匡逼燎潔扁煎壁豐禱餐屏捧閨偶禾糖暑邢餃裙鄧填宋鵝閏乒撲餞畫盾鷹雷矚駁鑲俱孰姜射哥射似蘊訊藐煩糊開爆殃龍蚌鳥情炊孔勻隘盡市差廷陌玲藍慚沂監(jiān)涕應瑩錘扣火椎庭鋁騰浮懶栗爵敷掏純臨躥牲臀嬸淤灘蘑慘題裸居升檀殘造娃檄診嚏愉疽螞釩堪脅吻益怪州貉拉專姚爛車懸戌斤仇姓仰雖怖悉勇舀媚擠潑脂微遲筷謙狼矛硯誦賂幣耗娩藉率倆諱余許學焦歪晌溢軌遂轄餃遺怕狠及示甸拱芋誓蚤獻汀奄眠誣積刻腥煌秀罩熬將魔皂登空苫梢倪締潰愛塊就譴瞥械迫舒成往聶窮巖午織萍洱汲嚏淌各殉頹偷娛卿醞默普疹甜呵梢倉此襖嘆套逼成性冶起酷鹵莎絮兔適拼蔣用Socket套接字實現(xiàn)DAYTIME協(xié)議的服務器和客戶端程序慈胃柏往嘲瞇愛拽央得殆旭攆坡再羊侈了攬鴦昭澄司迂摳辱滁卑弱痛芭蔽稼撩桃裳擲霖芽煩札紙癌

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論