第一篇:實(shí)驗(yàn)2_基于CS結(jié)構(gòu)的套接字程序設(shè)計(jì)
實(shí)驗(yàn)二:基于C/S結(jié)構(gòu)的套接字程序設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康?/p>
1、理解基于C/S結(jié)構(gòu)的網(wǎng)絡(luò)通信模型。
2、掌握利用WinSock編寫(xiě)基于C/S結(jié)構(gòu)的TCP/UDP通信程序的方法。
二、實(shí)驗(yàn)內(nèi)容
1、用C/C++或Java編寫(xiě)一個(gè)服務(wù)器端的控制臺(tái)程序,要求分別創(chuàng)建一個(gè)TCP端口偵聽(tīng)線程、一個(gè)UDP服務(wù)線程,服務(wù)器端會(huì)為每一個(gè)新到的TCP連接請(qǐng)求創(chuàng)建專(zhuān)門(mén)的服務(wù)線程;服務(wù)器端分別創(chuàng)建兩個(gè)Socket,即TCP Server Socket和UDP Server Socket,服務(wù)器端在這兩個(gè)端口上偵聽(tīng)連接,接收來(lái)自客戶端的服務(wù)請(qǐng)求。
2、用C/C++或Java編寫(xiě)一個(gè)客戶機(jī)端的控制臺(tái)程序,要求分別創(chuàng)建兩個(gè)Socket,TCP Socket連接TCP Server待建立TCP連接后Server首先向Client發(fā)送自己的UDP Server端口號(hào)和啟動(dòng)命令字符串“START”;Client收到UDP Server端口號(hào)和啟動(dòng)命令后,為用戶顯示如下圖所示3個(gè)服務(wù)選項(xiàng):
用戶分別選擇任意一個(gè)服務(wù)后從服務(wù)器獲得相應(yīng)的服務(wù)。
三、實(shí)驗(yàn)步驟及實(shí)驗(yàn)結(jié)果
1、實(shí)驗(yàn)內(nèi)容1的實(shí)驗(yàn)步驟如下:
1)利用參考代碼在MS VC++ 6.0開(kāi)發(fā)工具編中寫(xiě)一個(gè)控制臺(tái)程序
2)cmd窗口運(yùn)行server,打開(kāi)服務(wù)器,等待用戶訪問(wèn)
3)IP地址為:172.22.119.224的用戶訪問(wèn)上服務(wù)器
4)返回服務(wù)器當(dāng)前時(shí)間(以TCP數(shù)據(jù)報(bào)形式返回)
5)收到用戶發(fā)來(lái)的UDP數(shù)據(jù)報(bào)形式數(shù)據(jù)包,并以UDP數(shù)據(jù)報(bào)形式返回?cái)?shù)據(jù)包
2、實(shí)驗(yàn)內(nèi)容2的實(shí)驗(yàn)步驟如下:
1)利用參考代碼在MS VC++ 6.0開(kāi)發(fā)工具編中寫(xiě)一個(gè)控制臺(tái)程序
2)cmd窗口運(yùn)行client,用戶訪問(wèn)上IP地址為:172.22.119.224的服務(wù)器
3)請(qǐng)求返回服務(wù)器當(dāng)前時(shí)間(以TCP數(shù)據(jù)報(bào)形式訪問(wèn))
4)向服務(wù)器發(fā)送UDP數(shù)據(jù)報(bào)形式數(shù)據(jù)包,并請(qǐng)求服務(wù)器以UDP數(shù)據(jù)報(bào)形式返回?cái)?shù)據(jù)包
四、實(shí)驗(yàn)結(jié)果分析
Server端完成的功能是要同時(shí)提供面向連接和無(wú)連接的網(wǎng)絡(luò)服務(wù)。對(duì)于面向連接的服務(wù),程序需要一個(gè)線程用于偵聽(tīng)連接,當(dāng)有客戶端連接到服務(wù)器的時(shí)候,Server返回一個(gè)實(shí)際與之連接的新套接字,然后使用某個(gè)服務(wù)機(jī)制為之提供服務(wù)。對(duì)于無(wú)連接的服務(wù),只須提供一個(gè)線程,在該線程中創(chuàng)建一個(gè)UDP套接字對(duì)到來(lái)的各種請(qǐng)求做出應(yīng)答即可。
五、實(shí)驗(yàn)心得體會(huì)
六、思考題:
第二篇:計(jì)算機(jī)網(wǎng)絡(luò)原理實(shí)驗(yàn)三winsock套接字編程實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)
三、WINSOCK套接字編程實(shí)驗(yàn)報(bào)告
序號(hào):姓名:學(xué)號(hào):成績(jī)
1.實(shí)驗(yàn)?zāi)康模?/p>
用C或JAVA語(yǔ)言編寫(xiě)客戶端、服務(wù)器程序,實(shí)現(xiàn)基于TCP或UDP的網(wǎng)絡(luò)通信數(shù)據(jù)傳輸服務(wù),熟悉基于TCP或UDP的Socket編程原理。
2.實(shí)驗(yàn)環(huán)境:
建立在TCP/IP 網(wǎng)絡(luò)體系結(jié)構(gòu)之上計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境。各計(jì)算機(jī)除了安裝TCP/IP 軟件外,還安裝了TCP/IP 開(kāi)發(fā)系統(tǒng)。計(jì)算機(jī)具備Windows環(huán)境中套接字socket 的編程接口功能,可為用戶提供全網(wǎng)范圍的進(jìn)程通信功能。
3.實(shí)驗(yàn)指導(dǎo):
參見(jiàn)套接字編程實(shí)驗(yàn)指導(dǎo)
4.實(shí)驗(yàn)步驟
(1)運(yùn)行指導(dǎo)書(shū)中給出的參考程序,分析實(shí)驗(yàn)結(jié)果,并回答問(wèn)題(1)-(3)
(2)根據(jù)給定參考程序修改代碼,完善修改服務(wù)器和客戶端的功能。并回答問(wèn)題(4)-(5)
5.實(shí)驗(yàn)結(jié)果分析
(1)為什么在服務(wù)器和客戶端要包含winsock2.h文件?
(2)為什么在服務(wù)器和客戶端程序中要加入#pragma comment(lib,“ws2_32.lib”)
語(yǔ)句,如果不加會(huì)出現(xiàn)什么問(wèn)題?
(3)為什么在服務(wù)器和客戶端程序中要使用WSAStartup函數(shù),如果不用,程序會(huì)有
什么問(wèn)題?
(4)修改后的程序完成實(shí)現(xiàn)了什么功能,附上修改后的源代碼。(修改或填加的代
碼用波浪線標(biāo)注,并填加注釋?zhuān)⒏缴蠈?shí)驗(yàn)截圖
(5)請(qǐng)?jiān)敿?xì)說(shuō)明此實(shí)驗(yàn)在設(shè)計(jì)及運(yùn)行時(shí)遇到的問(wèn)題和解決辦法,及實(shí)驗(yàn)體會(huì)及建議。
第三篇:結(jié)構(gòu)矩陣程序設(shè)計(jì)心得
結(jié)構(gòu)矩陣程序設(shè)計(jì)心得體會(huì)
結(jié)構(gòu)矩陣分析的原理、方法以及在計(jì)算機(jī)上的實(shí)現(xiàn)是結(jié)構(gòu)力學(xué)的重要內(nèi)容之一。學(xué)好這門(mén)課,是對(duì)本科土木專(zhuān)業(yè)學(xué)生的基本要求。
本學(xué)期我們開(kāi)始學(xué)習(xí)結(jié)構(gòu)矩陣分析原理與程序設(shè)計(jì),其中包括理論課時(shí)——第一章結(jié)構(gòu)矩陣分析原理、第二章平面鋼架靜力分析的程序設(shè)計(jì)。其實(shí),結(jié)構(gòu)矩陣分析的基本原理與傳統(tǒng)的結(jié)構(gòu)力學(xué)原理相同,只是把計(jì)算過(guò)程用矩陣運(yùn)算來(lái)表示,從而使復(fù)雜多變的結(jié)構(gòu)受力在計(jì)算機(jī)上實(shí)現(xiàn)。
矩陣位移法分為一般剛度法和直接剛度法,二者基本原理相同,形成整體剛度方程的方法不同,我們學(xué)習(xí)的是直接剛度法。理論課結(jié)束后,我們有親自上機(jī)把所學(xué)的方法在計(jì)算機(jī)上逐步實(shí)現(xiàn),從而提高我們對(duì)結(jié)構(gòu)矩陣的學(xué)習(xí)興趣及理解。
此次上機(jī)實(shí)戰(zhàn)不僅是知識(shí)的檢驗(yàn)更是團(tuán)隊(duì)配合的較量,在得到老師給出的題目之后,我們迅速有效地分配任務(wù):把代碼輸入計(jì)算機(jī)程序,再進(jìn)行調(diào)試程序,調(diào)試完成后根據(jù)書(shū)中例題檢驗(yàn)程序的正確性。在這一系列的過(guò)程中來(lái)不得半點(diǎn)粗心大意,一個(gè)小小的錯(cuò)誤,可以在結(jié)果中可以被放大數(shù)百倍數(shù)千倍,就像老師掛在嘴邊那句話:輸入的是垃圾,輸出的可定時(shí)垃圾。
程序調(diào)試完成我們的工作就成功了一半,此后,把所給題目轉(zhuǎn)換成代碼,然后通過(guò)程序的運(yùn)行,得到輸出到答案。而這個(gè)過(guò)程中,把題目轉(zhuǎn)換成數(shù)字代碼尤為重要,只要仔細(xì)認(rèn)真倒也并非難事,我們發(fā)現(xiàn):計(jì)算機(jī)能用到結(jié)構(gòu)力學(xué)中,著實(shí)又方便有精確。結(jié)果輸出后,我們?cè)佼?huà)出受力圖,最后整理成文檔,就算功德圓滿了。
在這次結(jié)構(gòu)設(shè)計(jì)程序過(guò)程中,我們的確遇到幾個(gè)難題,不知從何下手,冥思苦想得不到結(jié)局之法,最后還是團(tuán)隊(duì)間互相商量,查看書(shū)籍,詢問(wèn)老師等,終于把問(wèn)題一一解決。譬如說(shuō),帶有鉸接點(diǎn)的結(jié)構(gòu)如何在平面鋼架的源程序中實(shí)現(xiàn),經(jīng)過(guò)多方查詢,只要分三步走即可:第一、可以在鉸接點(diǎn)處,把一個(gè)桿分成兩個(gè)單元;第二、靠近鉸接的地方,設(shè)置一個(gè)很短的單元;第三、讓這個(gè)單元的剛度EI值取得很小。也就是說(shuō),加一個(gè)很小的單元,把這個(gè)單元的彎曲剛度取得很小,這個(gè)單元就接近鉸接點(diǎn)了,計(jì)算時(shí)讓把這個(gè)當(dāng)做鋼節(jié)點(diǎn)。這次上機(jī),讓我們掌握了如何處理一般鋼架問(wèn)題、桁架問(wèn)題、已知支架位移問(wèn)題、平面鋼架含鉸接點(diǎn)問(wèn)題、連續(xù)梁?jiǎn)栴}、組合梁?jiǎn)栴}等等,使我們對(duì)結(jié)構(gòu)矩陣法有了更深的理解與掌握,思路更加開(kāi)闊,相信為以后的工作打下良好的基礎(chǔ),在遇到問(wèn)題后,進(jìn)行簡(jiǎn)化成平面鋼架靜力分析,解決用手算相當(dāng)復(fù)雜的問(wèn)題。同時(shí),我們懂得了互相幫助的重要性,遇到問(wèn)題,群力群策,使問(wèn)題得到完美解決。
第四篇:循環(huán)結(jié)構(gòu)程序設(shè)計(jì)教案
教學(xué)內(nèi)容:循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 教學(xué)課時(shí):2課時(shí) 【教學(xué)目的】
1、循環(huán)的基本思想
2、while、do-while和for
3、三種語(yǔ)句特點(diǎn)
4、孰能生巧 【教學(xué)重點(diǎn)】 三種循環(huán)語(yǔ)句的使用?!窘虒W(xué)難點(diǎn)】 三種循環(huán)語(yǔ)句區(qū)別?!窘虒W(xué)方法】 講解、演示、練習(xí)
第一課時(shí)
一、循環(huán)的基本思想
1、循環(huán)就是找規(guī)律,學(xué)習(xí)分析問(wèn)題和解決問(wèn)題的能力
2、講解案例灰太狼抓羊問(wèn)題
3、分析抓羊規(guī)律,引出循環(huán)概念
二、while、do-while和for
1、分析灰太狼抓羊問(wèn)題,提出解題思路
(一)設(shè)灰太狼每次抓羊i只
(二)設(shè)灰太狼一共抓到羊sum只
(三)設(shè)灰太狼每天抓羊后籠子里有羊sum + i只 其中:i為循環(huán)變量,sum + i為循環(huán)體
2、介紹while循環(huán)的一般形式
3、一邊分析一邊編程
(一)主函數(shù)
(二)定義變量
(三)運(yùn)算過(guò)程
(四)輸出結(jié)果
4、編寫(xiě)循環(huán)程序必須注意的幾個(gè)問(wèn)題
(一)循環(huán)控制變量必須有正確的初值
(二)在循環(huán)體內(nèi)應(yīng)有改變其值的語(yǔ)句
(三)其值的改變應(yīng)使得表達(dá)式的值最終趨向于零(循環(huán)結(jié)束條件),否則將形成死循環(huán)
5、引出do-while循環(huán)
6、介紹do-while循環(huán)的一般形式
7、使用do-while循環(huán)解決灰太狼抓羊問(wèn)題
8、說(shuō)明:while與do-while相似點(diǎn)
9、引出for循環(huán)
10、介紹for循環(huán)的一般形式
11、使用for循環(huán)解決灰太狼抓羊問(wèn)題
12、說(shuō)明:for循環(huán)中三個(gè)表達(dá)式使用方法
第二課時(shí) 一、三種語(yǔ)句特點(diǎn)
1、while與do-while的區(qū)別
2、兩語(yǔ)句與for的區(qū)別
二、孰能生巧
1、提出問(wèn)題姜太公釣魚(yú)
2、分析題目中可用循環(huán)解決的規(guī)律問(wèn)題
3、分析姜太公釣魚(yú)問(wèn)題,提出解題思路
(一)設(shè)太公每次釣魚(yú)數(shù)量n = n + 2條
(二)設(shè)一共釣到魚(yú)的數(shù)量sum條
(三)設(shè)每天釣魚(yú)后魚(yú)的數(shù)量sum + n條
4、一邊分析一邊編程
(一)主函數(shù)
(二)定義變量
(三)運(yùn)算過(guò)程
(四)輸出結(jié)果
5、課程小結(jié)
課后練習(xí)
1、概述三種循環(huán)語(yǔ)句while、do-while和for之間的區(qū)別與聯(lián)系。
2、計(jì)算無(wú)理數(shù)e的值,直到1/n!<10-5(P44,第4題)。
3、輸入任意字符串,把字符串中小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母,并輸出結(jié)果(P44, 第3題)。
4、輸入5個(gè)整數(shù),計(jì)算其中正數(shù)的和(P47,1)
5、編程顯示100以內(nèi)所有能被3和7整除的整數(shù)(P47,6、輸出用戶輸入的兩個(gè)整數(shù)之間的所有偶數(shù)。
7、編程求1!+2!+3!+…+n!的和。
2)。
第五篇:分支結(jié)構(gòu)程序設(shè)計(jì)教案
感受分支結(jié)構(gòu)程序的作用
一、教學(xué)目標(biāo) 1.知識(shí)與技能目標(biāo)
(1)理解程序的分支結(jié)構(gòu)。(2)了解編程思路。2.過(guò)程與方法目標(biāo)
(1)借助多媒體教學(xué),強(qiáng)化學(xué)生的理解力和注意力。(2)能根據(jù)問(wèn)題設(shè)計(jì)界面和編寫(xiě)程序。3.情感、態(tài)度與價(jià)值觀目標(biāo)
(1)讓學(xué)生從無(wú)到有的探索過(guò)程中感受成功的喜悅。(2)培養(yǎng)學(xué)生探究精神與獨(dú)立操作能力。
二、教學(xué)重點(diǎn)和難點(diǎn) 1.教學(xué)重點(diǎn):
使用visual basic語(yǔ)言的條件語(yǔ)句來(lái)實(shí)現(xiàn)分支結(jié)構(gòu),從而解決實(shí)際問(wèn)題。
2、教學(xué)難點(diǎn):
理解程序中流程的代碼描述。
三、教學(xué)方法
情境教學(xué)法、講授法、任務(wù)驅(qū)動(dòng)法
四、教學(xué)準(zhǔn)備
1、教學(xué)環(huán)境。多媒體網(wǎng)絡(luò)教室。
2、教學(xué)資源。
學(xué)生用機(jī)需要安裝好visual Bastc語(yǔ)言環(huán)境。任務(wù)卡
五、教學(xué)過(guò)程
1.創(chuàng)設(shè)情境,導(dǎo)入新課
ppt演示導(dǎo)出課題“分支結(jié)構(gòu)”通過(guò)鏈接到“體型判斷”小程序,然后讓同學(xué)們自己推薦同學(xué)來(lái)測(cè)試是否偏胖或偏瘦或正常。學(xué)生的興趣度很高,積極的配合。
設(shè)計(jì)意圖:引起學(xué)生興趣,激發(fā)學(xué)生的學(xué)習(xí)熱情,點(diǎn)名課題。2.講授新課
(1)給出標(biāo)準(zhǔn)體重的計(jì)算公式,并簡(jiǎn)介如何評(píng)判體型。
(2)列舉生活中需要進(jìn)行條件選擇的例子來(lái)講解,幫學(xué)生理解分支結(jié)構(gòu)程序設(shè)計(jì)的概念。(3)關(guān)系表達(dá)式和邏輯表達(dá)式的簡(jiǎn)介。(4)畫(huà)出if語(yǔ)句流程圖,了解簡(jiǎn)單的if語(yǔ)句。
(5)教師操作“體型判斷”的案例,介紹框架控件的使用,編寫(xiě)部分程序,回憶舊知。
設(shè)計(jì)意圖:師生共同構(gòu)思,寫(xiě)出“體型判斷”源程序,讓學(xué)生對(duì)分支結(jié)構(gòu)的理解更深刻。
3.布置作業(yè),鞏固提高
以書(shū)本上的典型案例“體型判斷”讓學(xué)生操作,有不懂的看書(shū)本或任務(wù)卡。(巡回指導(dǎo),及時(shí)幫學(xué)生解決操作過(guò)程中存在的問(wèn)題)
4.歸納總結(jié),加強(qiáng)記憶
先讓學(xué)生們歸納總結(jié)本節(jié)課所學(xué)的內(nèi)容,然后教師總結(jié),讓學(xué)生有一個(gè)更深刻的印象,并強(qiáng)調(diào)應(yīng)注意的幾個(gè)問(wèn)題。
設(shè)計(jì)意圖:課堂小結(jié)的目的是強(qiáng)化認(rèn)識(shí),可以把課堂傳授的知識(shí)盡快地轉(zhuǎn)化為學(xué)生的知識(shí);簡(jiǎn)單扼要的課堂小結(jié),可使學(xué)生更深刻地理解分支結(jié)構(gòu)程序設(shè)計(jì)在實(shí)際生活中的應(yīng)用。
六、課后反思
整節(jié)課以學(xué)生動(dòng)手為主,學(xué)生的興趣濃厚,課堂充滿活力,能夠達(dá)到預(yù)期目的。學(xué)生基本上都完成了課堂作業(yè),但是已經(jīng)做好的同學(xué)還沒(méi)能形成先預(yù)習(xí)下節(jié)課要講的內(nèi)容的好習(xí)慣,總體來(lái)說(shuō)這節(jié)課是相對(duì)成功的。