華北電力大學(xué)科技學(xué)院軟件設(shè)計實驗報告_第1頁
華北電力大學(xué)科技學(xué)院軟件設(shè)計實驗報告_第2頁
華北電力大學(xué)科技學(xué)院軟件設(shè)計實驗報告_第3頁
華北電力大學(xué)科技學(xué)院軟件設(shè)計實驗報告_第4頁
華北電力大學(xué)科技學(xué)院軟件設(shè)計實驗報告_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、科技學(xué)院課程設(shè)計報告( 2011- 2012年度第1學(xué)期)名 稱: 網(wǎng)絡(luò)軟件程序設(shè)計 院 系: 信息工程系 班 級: 網(wǎng)絡(luò)09K 學(xué) 號: 0919090301 學(xué)生: 指導(dǎo)教師: 朵 春 紅 設(shè)計周數(shù): 1 成 績: 日期:2011年 12 月21日網(wǎng)絡(luò)軟件程序設(shè)計課程設(shè)計任 務(wù) 書一、 目的與要求1 任務(wù):實現(xiàn)基于Socket的C/S編程方法,著重體會使用Socket進行通信時,通信雙方通信協(xié)議的制定方法。2 目的:使學(xué)生加深對網(wǎng)絡(luò)通信協(xié)議、網(wǎng)絡(luò)編程接口等基本概念、基本原理的理解,熟悉各種應(yīng)用各種網(wǎng)絡(luò)通信協(xié)議和網(wǎng)絡(luò)編程接口編寫網(wǎng)絡(luò)應(yīng)用程序的方法,拓寬學(xué)生的知識領(lǐng)域,鍛煉學(xué)生的實踐技能,培養(yǎng)

2、學(xué)生科學(xué)的工作作風。3 要求:基本功能完善,界面美觀,方便易用,操作無誤;通過課程設(shè)計學(xué)生應(yīng)該學(xué)會使用各種網(wǎng)絡(luò)通信協(xié)議和網(wǎng)絡(luò)編程接口編寫不同類型的網(wǎng)絡(luò)應(yīng)用程序,具備初步分析、設(shè)計和開發(fā)網(wǎng)絡(luò)應(yīng)用軟件的能力,具備分析與檢查軟件錯誤、解決和處理實驗結(jié)果的能力。4 學(xué)生要求人數(shù):1人。二、 主要容編寫一個基于C/S模式的數(shù)學(xué)服務(wù)器程序,并通過客戶端進行訪問。在這個分布式程序中,客戶通過用戶界面輸入兩個整型數(shù)組,并發(fā)送兩個整型數(shù)組給數(shù)學(xué)服務(wù)器,數(shù)學(xué)服務(wù)器將兩個數(shù)組相加,并將結(jié)果(作為一個數(shù)組)返回給客戶??蛻舫绦蚪邮赵摻Y(jié)果數(shù)組,并將其輸出到用戶界面。程序應(yīng)該包括如下容:1. 簡單的客戶端輸入/輸出界面負

3、責接收用戶輸入的數(shù)組,以及運算結(jié)果的輸出。2. 算術(shù)客戶程序:它所做的就是打開一個Socket連接,一個輸入流和一個輸出流。客戶程序發(fā)送兩個整型數(shù)組到服務(wù)器,然后就等待服務(wù)器將結(jié)果數(shù)組發(fā)回。當客戶程序接收到數(shù)組后,它輸出數(shù)組到客戶界面,之后,關(guān)閉IO流和Socket。3. 算術(shù)服務(wù)器程序:運用有關(guān)多線程知識,編寫多線程服務(wù)器。三、 進度計劃序號設(shè)計容完成時間備注1任務(wù)布置,資料查詢,方案制定周一2算法設(shè)計,程序?qū)崿F(xiàn)周二至周四3撰寫報告,軟件驗收周五4四、設(shè)計成果要求1 完成規(guī)定的課程設(shè)計任務(wù),所設(shè)計軟件功能符合要求;2 完成課程設(shè)計報告,要求格式規(guī),容具體而翔實,應(yīng)體現(xiàn)自身所做的工作,注重對設(shè)

4、計思路的歸納和對問題解決過程的總結(jié)。五、 考核方式1 平時成績驗收答辯實驗報告;2 五級分制。 學(xué)生: 指導(dǎo)教師:魯斌 朵春紅 2012 年 12 月 17 日網(wǎng)絡(luò)軟件程序設(shè)計課程設(shè)計一、 目的與要求任務(wù):實現(xiàn)基于Socket的C/S編程方法,著重體會使用Socket進行通信時,通信雙方通信協(xié)議的制定方法。1.目的:使學(xué)生加深對網(wǎng)絡(luò)通信協(xié)議、網(wǎng)絡(luò)編程接口等基本概念、基本原理的理解,熟悉各種應(yīng)用各種網(wǎng)絡(luò)通信協(xié)議和網(wǎng)絡(luò)編程接口編寫網(wǎng)絡(luò)應(yīng)用程序的方法,拓寬學(xué)生的知識領(lǐng)域,鍛煉學(xué)生的實踐技能,培養(yǎng)學(xué)生科學(xué)的工作作風。2.要求:基本功能完善,界面美觀,方便易用,操作無誤;通過課程設(shè)計學(xué)生應(yīng)該學(xué)會使用各種

5、網(wǎng)絡(luò)通信協(xié)議和網(wǎng)絡(luò)編程接口編寫不同類型的網(wǎng)絡(luò)應(yīng)用程序,具備初步分析、設(shè)計和開發(fā)網(wǎng)絡(luò)應(yīng)用軟件的能力,具備分析與檢查軟件錯誤、解決和處理實驗結(jié)果的能力。3.學(xué)生要求人數(shù):1人。二、 主要容編寫一個基于C/S模式的數(shù)學(xué)服務(wù)器程序,并通過客戶端進行訪問。在這個分布式程序中,客戶通過用戶界面輸入兩個整型數(shù)組,并發(fā)送兩個整型數(shù)組給數(shù)學(xué)服務(wù)器,數(shù)學(xué)服務(wù)器將兩個數(shù)組相加,并將結(jié)果(作為一個數(shù)組)返回給客戶??蛻舫绦蚪邮赵摻Y(jié)果數(shù)組,并將其輸出到用戶界面。程序應(yīng)該包括如下容:1.簡單的客戶端輸入/輸出界面負責接收用戶輸入的數(shù)組,以及運算結(jié)果的輸出。/創(chuàng)建套接字,聲明全局變量,并讓receive可以接收 Socke

6、t socketClient; public Form1() InitializeComponent(); TextBox.CheckForIllegalCrossThreadCalls=false; /負責發(fā)送的 private void btGet_Click(object sender, EventArgs e) String s=tBx1.Text.Trim()+"|"+optxt.Text+"|"+tBx2.Text.Trim(); socketClient.Send(System.Text.Encoding.UTF8.GetBytes(s);

7、 /負責接受的 void rec() while(true) byte bb=new byte1024; int length=socketClient.Receive(bb); string s = System.Text.Encoding.UTF8.GetString(bb, 0, length); tBxResult.Text=s; 2.算術(shù)客戶程序:它所做的就是打開一個Socket連接,一個輸入流和一個輸出流??蛻舫绦虬l(fā)送兩個整型數(shù)組到服務(wù)器,然后就等待服務(wù)器將結(jié)果數(shù)組發(fā)回。當客戶程序接收到數(shù)組后,它輸出數(shù)組到客戶界面,之后,關(guān)閉IO流和Socket。/ <summary>

8、 / 連接服務(wù)器,套接字創(chuàng)建在外方便使用 / </summary> / <param name="sender"></param> / <param name="e"></param> private void btlCon_Click(object sender, EventArgs e) socketClient=new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);/創(chuàng)建IP地址和網(wǎng)絡(luò)節(jié)點對象

9、 IPAddress address = IPAddress.Parse(ConfigurationSettings.AppSettings"IP"); IPEndPoint endPoint = new IPEndPoint(address, int.Parse(ConfigurationSettings.AppSettings"Port");/將負責監(jiān)聽的套接字綁定到唯一的IP和端口上 socketClient.Connect(endPoint); Thread thr=new Thread(rec); thr.IsBackground=true;

10、thr.Start(); /IP地址和端口號,由于我這是在一臺機子上運行的所以IP為<?xml version="1.0" encoding="utf-8" ?><configuration> <appSettings> <add key="IP" value=""/> <add key="Port" value="50001"/> </appSettings><

11、/configuration>3.算術(shù)服務(wù)器程序:運用有關(guān)多線程知識,編寫多線程服務(wù)器。 public Server() /初始化 InitializeComponent(); Socket socketWatch; Thread thrcon; Dictionary<string, Socket> solist = new Dictionary<string, Socket>(); Dictionary<string, Thread> thlist = new Dictionary<string, Thread>();/開啟服務(wù)按鈕的功能

12、 private void btnStart_Click(object sender, EventArgs e) /開始監(jiān)聽放入監(jiān)聽函數(shù)中 /創(chuàng)建服務(wù)器端監(jiān)聽套接字 socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);/創(chuàng)建IP和網(wǎng)絡(luò)節(jié)點對象 IPAddress address = IPAddress.Parse(ConfigurationSettings.AppSettings"IP"); IPEndPoint endPoint = new IP

13、EndPoint(address, int.Parse(ConfigurationSettings.AppSettings"Port"); socketWatch.Bind(endPoint); socketWatch.Listen(20); thrcon = new Thread(JianTing); thrcon.IsBackground = true; thrcon.Start(); /創(chuàng)建監(jiān)聽程序,為每一個套接字創(chuàng)建一個線程 void JianTing() while (true) /開始監(jiān)聽 Socket sokConnection = socketWatch.A

14、ccept(); this.solist.Add(sokConnection.RemoteEndPoint.ToString(), sokConnection); Thread singglethr = new Thread(MyRec); singglethr.IsBackground = true; singglethr.Start(sokConnection); this.thlist.Add(sokConnection.RemoteEndPoint.ToString(), singglethr); /開始創(chuàng)建receive函數(shù) void MyRec(object sok) Socket

15、 sigleso = sok as Socket; while (true) byte arr = new byte1024; int length = sigleso.Receive(arr); string s = System.Text.Encoding.UTF8.GetString(arr, 0, length); string ssss = SuanShu(s.Split(new char '|' ); sigleso.Send(System.Text.Encoding.UTF8.GetBytes(ssss); string SuanShu(string s) swi

16、tch (s1) case "+": return (int.Parse(s0) + int.Parse(s2).ToString(); case "-": return (int.Parse(s0) - int.Parse(s2).ToString(); case "*": return (int.Parse(s0) * int.Parse(s2).ToString(); case "/": return (int.Parse(s0) / int.Parse(s2).ToString(); default: return "異°¨¬常¡ê" 三、 輸出結(jié)果加法運算乘法運算除法運算減法運算四、 實驗心得通過本次試驗,基本上實現(xiàn)了實現(xiàn)基于Socket的C/S編程方法,體會了使用S

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論