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

正文內(nèi)容

【課程設(shè)計(jì)】基于udp協(xié)議采用winsock構(gòu)建網(wǎng)絡(luò)聊天室-資料下載頁(yè)

2025-06-06 19:13本頁(yè)面
  

【正文】 構(gòu)體的介紹在整個(gè)基于UDP協(xié)議的網(wǎng)絡(luò)聊天室程序設(shè)計(jì)中,我們一直都在使用幾個(gè)比較重要的系統(tǒng)自定義的結(jié)構(gòu)體,我們正是在這些結(jié)構(gòu)體的基礎(chǔ)上進(jìn)行程序設(shè)計(jì),并最終完成網(wǎng)絡(luò)聊天室的設(shè)計(jì)。在這里主要介紹Sockaddr_in結(jié)構(gòu)體和IP地址sin_addr結(jié)構(gòu)體。 Sockaddr_in的定義如下:struct sockaddr_in{ short sin_family。 unsigned short sin_port。 struct in_addr sin_addr。 char sin_zero[8]。}。其中,sin_family是指一套地址族,它指定所要使用的通信協(xié)議,通常設(shè)為AF_INET;sin_port端口號(hào);sin_addr是IP地址;而sin_zero[8]的作用,只是使該結(jié)構(gòu)的大小和SOCKADDR結(jié)構(gòu)大小相同。IP地址sin_addr結(jié)構(gòu)定義如下:struct in_addr {union {struct { u_char s_b1,s_b2,s_b3,s_b4。 } S_un_b。 struct { u_short s_w1,s_w2。 } S_un_w。 u_long S_addr。 } S_un。}。這樣,對(duì)于一個(gè)IP地址,例如“”,就可以用以下三種方法賦給一個(gè)sockaddr結(jié)構(gòu)體(例如struct sockaddr_in m_addr。):方法1:=192。=168。=0。=1。方法2:=(1688)|192。=(18)|0。方法3:=(124)|(016)|(1688)|192。為了更方便地賦值,winsock還為我們提供了一個(gè)函數(shù)inet_addr(),可以把用字符串表示的IP地址“”直接賦給結(jié)構(gòu)體m_addr:char * IP_String=””。=inet_addr(IP_String)。4 程序界面設(shè)計(jì) 服務(wù)器端界面設(shè)計(jì)在服務(wù)器界面中,主要有一個(gè)接收數(shù)據(jù)的窗口,另外還需要建立服務(wù)器的按鈕、建立服務(wù)器的端口號(hào)窗口、關(guān)閉服務(wù)器的按鈕。設(shè)計(jì)服務(wù)器界面是在Vistual C++ ,關(guān)鍵之處在于各個(gè)窗口或者按鈕的ID號(hào)必須與程序中的ID號(hào)對(duì)應(yīng)。設(shè)計(jì)完成后,服務(wù)器端的界面入下:圖 41 服務(wù)器端界面 客戶(hù)端界面設(shè)計(jì)在客戶(hù)端界面中,主要有一個(gè)發(fā)送消息的窗口,另外還包括發(fā)送按鈕、連接服務(wù)器的端口號(hào)、本地計(jì)算機(jī)的IP地址和關(guān)閉客戶(hù)端的按鈕。設(shè)計(jì)客戶(hù)端的界面基本過(guò)程和思路同設(shè)計(jì)服務(wù)器端的相同,開(kāi)發(fā)工具都是Vistual C++ ??蛻?hù)端的界面如下:圖 42 客戶(hù)端界面5 運(yùn)行結(jié)果分析網(wǎng)絡(luò)聊天室設(shè)計(jì)的預(yù)期目的是能夠在同一臺(tái)計(jì)算機(jī)或者不同的計(jì)算機(jī)上進(jìn)行通信。也就是說(shuō),當(dāng)客戶(hù)端向服務(wù)器發(fā)送信息,當(dāng)服務(wù)器端按下接收按鈕時(shí),客戶(hù)端所發(fā)送的數(shù)據(jù)能夠被服務(wù)器接收到。而客戶(hù)端只負(fù)責(zé)發(fā)送數(shù)據(jù),不考慮所發(fā)數(shù)據(jù)是否能夠可靠的全部被服務(wù)器接收??蛻?hù)端發(fā)送一條消息,服務(wù)器就接收一條消息時(shí),服務(wù)器端與客戶(hù)端的運(yùn)行界面如下所示:客戶(hù)端發(fā)送多條消息,而服務(wù)器并沒(méi)有全部接收時(shí),服務(wù)器端與客戶(hù)端的運(yùn)行界面如下所示:不過(guò)當(dāng)服務(wù)器按下接收按鈕時(shí),有能夠接收到全部數(shù)據(jù)。6 總結(jié)在實(shí)驗(yàn)中,我們可以把這學(xué)期所學(xué)的理論知識(shí)和實(shí)踐聯(lián)系起來(lái),在所要設(shè)計(jì)的程序中漸漸融會(huì)貫通。雖然我們對(duì)這些知識(shí)還運(yùn)用得還不是很熟練,但是相信在現(xiàn)在和今后的學(xué)習(xí)中會(huì)得到更加深刻的掌握。本課程設(shè)計(jì)是設(shè)計(jì)一個(gè)程序,實(shí)現(xiàn)聊天功能,要求有客戶(hù)端和服務(wù)器端。通過(guò)設(shè)計(jì)我們進(jìn)一步掌握利用Visual C++進(jìn)行程序設(shè)計(jì)的能力;進(jìn)一步理解和運(yùn)用面向?qū)ο蟪绦蛟O(shè)計(jì)的思想和方法;初步掌握開(kāi)發(fā)一個(gè)小型實(shí)用系統(tǒng)的基本方法;學(xué)會(huì)調(diào)試一個(gè)較長(zhǎng)程序的基本方法??偟膩?lái)說(shuō)通過(guò)本次實(shí)驗(yàn),我學(xué)習(xí)到了許多東西,增強(qiáng)了一定的實(shí)踐能力。課程設(shè)計(jì)過(guò)程中我們一邊設(shè)計(jì)一邊探索,發(fā)現(xiàn)理論和實(shí)踐要充分地結(jié)合,是需要扎實(shí)的基本功的,這就表明學(xué)好基礎(chǔ)知識(shí)是理論付諸實(shí)踐的前提。參考文獻(xiàn)[1] Charles Petzold著,Windows程序設(shè)計(jì).北京博彥科技發(fā)展有限公司譯.北京.北京大學(xué)出版社,1998[2] 楊祥金,楊丹等.Windows程序設(shè)計(jì)教程.北京:清華大學(xué)出版社,2007[3] 王艷平 ,張錚編著,Windows程序設(shè)計(jì). 北京;人民郵電出版社,2008
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1