網(wǎng)絡(luò)測(cè)試系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
網(wǎng)絡(luò)測(cè)試系統(tǒng)課程設(shè)計(jì)_第2頁(yè)
網(wǎng)絡(luò)測(cè)試系統(tǒng)課程設(shè)計(jì)_第3頁(yè)
網(wǎng)絡(luò)測(cè)試系統(tǒng)課程設(shè)計(jì)_第4頁(yè)
網(wǎng)絡(luò)測(cè)試系統(tǒng)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、網(wǎng)絡(luò)測(cè)試系統(tǒng)1. 需求分析現(xiàn)在,網(wǎng)絡(luò)早已是人們?nèi)粘I畈豢苫蛉钡囊徊糠?,網(wǎng)絡(luò)性能的好壞,各個(gè)路由節(jié)點(diǎn)之間連接是否暢通也是人們所需解決的最基本問(wèn)題,由此,一個(gè)網(wǎng)絡(luò)測(cè)試系統(tǒng)的需求也就產(chǎn)生了。2. 題目要求使用圖形用戶界面;客戶端登錄,獲取服務(wù)器試卷文件列表,選取顯示試卷,提交答案,查詢分?jǐn)?shù)。3. 設(shè)計(jì)思想代碼分兩個(gè)部分,一個(gè)客戶端,一個(gè)服務(wù)器??蛻舳瞬糠?,負(fù)責(zé)圖形用戶界面,客戶端登錄,連接服務(wù)器,獲取試卷,答題,顯示分?jǐn)?shù);服務(wù)器部分,負(fù)責(zé)和客戶端連接,向客戶端傳試卷,給予分?jǐn)?shù),其中試卷是通過(guò)sqlserver數(shù)據(jù)庫(kù)給出的。4. 系統(tǒng)流程5. 流程截圖及說(shuō)明圖表 1啟動(dòng)服務(wù)器,控制臺(tái)顯示連接成功圖表

2、 2啟動(dòng)客戶端圖表 3輸入服務(wù)器IP,點(diǎn)擊登錄按鈕圖表 4客戶端登陸后,服務(wù)器顯示客戶端的信息圖表 5單擊登陸完畢,選擇試卷按鈕彈出試卷選擇窗口圖表 6有兩種試卷可以選擇圖表 7選擇試卷1,單擊開始答題按鈕彈出答題窗口圖表 8輸入答案,單擊開始答題按鈕,進(jìn)入下一道題圖表 9第二題圖表 10第三題圖表 11第四題圖表 12第二,四題答對(duì),第一,三題答錯(cuò),最后顯示如上結(jié)果圖表 13重復(fù)上述步驟,選擇試卷二答題圖表 14第一題圖表 15第二題圖表 16第三題圖表 17第四題圖表 18第五題圖表 19第一,三,五題答對(duì),二,四題答錯(cuò),最后顯示如上結(jié)果圖表 20數(shù)據(jù)庫(kù)中的試卷類型,題目及答案信息6. 設(shè)

3、計(jì)體會(huì)通過(guò)此次課程設(shè)計(jì),使我更加扎實(shí)的掌握了有關(guān)java編程方面的知識(shí),在設(shè)計(jì)過(guò)程中雖然遇到了一些問(wèn)題,但經(jīng)過(guò)一次又一次的思考,一遍又一遍的檢查終于找出了原因所在,也暴露出了前期我在這方面的知識(shí)欠缺和經(jīng)驗(yàn)不足。實(shí)踐出真知,通過(guò)編程,使我們掌握的知識(shí)不再是紙上談兵。過(guò)而能改,善莫大焉。在課程設(shè)計(jì)過(guò)程中,我們不斷發(fā)現(xiàn)錯(cuò)誤,不斷改正,不斷領(lǐng)悟,不斷獲取。最終的檢測(cè)調(diào)試環(huán)節(jié),本身就是在踐行“過(guò)而能改,善莫大焉”的知行觀。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多問(wèn)題,最后在老師的指導(dǎo)下,終于游逆而解。在今后社會(huì)的發(fā)展和學(xué)習(xí)實(shí)踐過(guò)程中,一定要不懈努力,不能遇到問(wèn)題就想到要退縮,一定要不厭其煩的發(fā)現(xiàn)問(wèn)

4、題所在,然后一一進(jìn)行解決,只有這樣,才能成功的做成想做的事,才能在今后的道路上披荊斬棘,而不是知難而退,那樣永遠(yuǎn)不可能收獲成功,收獲喜悅,也永遠(yuǎn)不可能得到社會(huì)及他人對(duì)你的認(rèn)可!課程設(shè)計(jì)誠(chéng)然是一門專業(yè)課,給我很多專業(yè)知識(shí)以及專業(yè)技能上的提升,同時(shí)又是一門講道課,一門辯思課,給了我許多道,給了我很多思,給了我莫大的空間。同時(shí),設(shè)計(jì)讓我感觸很深。使我對(duì)抽象的理論有了具體的認(rèn)識(shí)。我認(rèn)為,在這學(xué)期的課程設(shè)計(jì)中,不僅培養(yǎng)了獨(dú)立思考、動(dòng)手操作的能力,在各種其它能力上也都有了提高。更重要的是,在課程設(shè)計(jì)上,我們學(xué)會(huì)了很多學(xué)習(xí)的方法。而這是日后最實(shí)用的,真的是受益匪淺。要面對(duì)社會(huì)的挑戰(zhàn),只有不斷的學(xué)習(xí)、實(shí)踐,再

5、學(xué)習(xí)、再實(shí)踐。這對(duì)于我們的將來(lái)也有很大的幫助。以后,不管有多苦,我想我們都能變苦為樂(lè),找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。就像中國(guó)提倡的艱苦奮斗一樣,我們都可以在實(shí)驗(yàn)結(jié)束之后變的更加成熟,會(huì)面對(duì)需要面對(duì)的事情?;仡櫰鸫苏n程設(shè)計(jì),至今我仍感慨頗多,從理論到實(shí)踐,在這段日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。

6、在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,但可喜的是最終都得到了解決。7. 參考文獻(xiàn)(1) java語(yǔ)言程序設(shè)計(jì)(2) java編程思想8. 源代碼client.java:package client;import .*;import java.io.*;import javax.swing.*;import java.awt.event.*;import java.awt.*;public class client extends JFrameprivate JTextField t1;private JButton button1;private JButton button2;priv

7、ate JLabel label1;private JLabel label2; static Socket server=null; static InputStream inputdata=null; static OutputStream outputdata=null; static BufferedReader in=null; static PrintStream out=null; static String sentence=null;public client(JFrame f)f.setVisible(true);f.setBounds(200,200,500,400);C

8、ontainer c= getContentPane();c.setBackground(Color.WHITE);f.add(c);t1 =new JTextField(請(qǐng)輸入服務(wù)器IP,20);t1.setFont(new Font(Serif,Font.PLAIN,12);button1=new JButton(登陸);button1.setFont(new Font(Serif,Font.PLAIN,14);button2=new JButton(登陸完畢,選擇試卷);button2.setFont(new Font(Serif,Font.PLAIN,16);BHandler h=ne

9、w BHandler();button1.addActionListener(h);BHandler2 h2=new BHandler2();button2.addActionListener(h2);label1 =new JLabel(你還未選擇服務(wù)器);label1.setFont(new Font(Serif,Font.PLAIN,14);label2 =new JLabel(服務(wù)器還沒(méi)有試卷給你);label2.setFont(new Font(Serif,Font.PLAIN,14);c.add(button1,BorderLayout.WEST);c.add(button2,Bo

10、rderLayout.SOUTH);c.add(t1,BorderLayout.CENTER);c.add(label1,BorderLayout.EAST);c.add(label2,BorderLayout.NORTH);public class BHandler implements ActionListenerpublic void actionPerformed(ActionEvent event)label1.setText(你選擇了服務(wù)器IP地址為 + t1.getText() ); try server=new Socket(localhost,7000);/構(gòu)造Socket實(shí)

11、例,連接本地服務(wù)器,端口號(hào)為7000 inputdata=server.getInputStream(); /實(shí)例化對(duì)象返回服務(wù)器套接字的輸入流 outputdata=server.getOutputStream();/實(shí)例化對(duì)象返回服務(wù)器套接字的輸出流 in=new BufferedReader(new InputStreamReader(inputdata) );/實(shí)例化對(duì)象讀取數(shù)據(jù)輸入流 out=new PrintStream(outputdata); /實(shí)例化對(duì)象讀取數(shù)據(jù)輸出流 sentence=in.readLine();/得到讀取的一個(gè)文本行 label2.setText(sent

12、ence); catch (Exception e)public class BHandler2 implements ActionListenerpublic void actionPerformed(ActionEvent event)Jlb d =new Jlb(new JF0(選擇試卷窗口);class JF0 extends JFrame public JF0(String s) super(s); setBounds(200,200,500,400); setVisible(true); try UIManager.setLookAndFeel(UIManager.getSyste

13、mLookAndFeelClassName(); catch(Exception e) setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); class Jlb extends JFrame private JComboBox lbk; private JLabel label; private JButton button3; private String shijuan= 1,2; public Jlb(JFrame f) Container c=getContentPane(); c.setBackground(Color.WHITE); f.a

14、dd(c); lbk = new JComboBox(shijuan);/創(chuàng)建下拉列表對(duì)象 lbk.setMaximumRowCount(2);/設(shè)置下拉列表所能顯示列表項(xiàng)的最大數(shù)目 lbk.setSelectedIndex(0);/設(shè)置默認(rèn)的選擇項(xiàng) lbk.setFont(new Font(Serif,Font.PLAIN,14); lbk.addItemListener(new lbHandler();/注冊(cè)Label監(jiān)聽(tīng)器 label =new JLabel(你選擇了:試卷1); label.setFont(new Font(Serif,Font.PLAIN,14); button3=n

15、ew JButton(開始答題); button3.setFont(new Font(Serif,Font.PLAIN,14); lbHandler2 h2=new lbHandler2(); button3.addActionListener(h2);/注冊(cè)Button監(jiān)聽(tīng)器 c.add(lbk, BorderLayout.NORTH); c.add(label, BorderLayout.CENTER); c.add(button3, BorderLayout.SOUTH); public class lbHandler implements ItemListener public voi

16、d itemStateChanged(ItemEvent e) if(e.getStateChange() = e.SELECTED) label.setText(你選擇了:試卷 + shijuanlbk.getSelectedIndex(); public class lbHandler2 implements ActionListener public void actionPerformed(ActionEvent event) out.println(shijuanlbk.getSelectedIndex(); Jlb2 m =new Jlb2(new JF0(答題窗口); class

17、 Jlb2 extends JFrame private JLabel labe2; private JTextField t2; private JButton button3; public Jlb2(JFrame f) Container c=getContentPane(); c.setBackground(Color.WHITE); f.add(c); labe2 =new JLabel(題目是: ); labe2.setFont(new Font(Serif,Font.PLAIN,14); t2 =new JTextField(此處填寫答案,20);t2.setFont(new F

18、ont(Serif,Font.PLAIN,12); button3=new JButton(開始答題); lbHandler3 h3=new lbHandler3(); button3.addActionListener(h3); c.add(labe2, BorderLayout.NORTH); c.add(t2,BorderLayout.CENTER);c.add(button3,BorderLayout.SOUTH); try sentence=in.readLine(); labe2.setText(sentence); catch (Exception e) public class

19、 lbHandler3 implements ActionListener public void actionPerformed(ActionEvent event) try String bmsg =new String(); bmsg=t2.getText(); if(!bmsg.equals(quit) out.println(bmsg); sentence=in.readLine(); labe2.setText(sentence); catch (Exception e) public static void main(String args)client d=new client

20、(new JFrame(登陸);service.java:package service;import java.io.*;import .*;import java.util.*;import java.sql.*;public class servicestatic public void main(String args) throws IOExceptionConnection conn=null;Statement stmt=null;ResultSet rs=null;String driverName = sun.jdbc.odbc.JdbcOdbcDriver; /加載JDBC

21、驅(qū)動(dòng)String dbURL = jdbc:odbc:dnt31; /連接服務(wù)器和數(shù)據(jù)庫(kù)String userName = sa; /默認(rèn)用戶名String userPwd = 199618; /安裝sqlserver 2008時(shí)的密碼tryClass.forName(driverName);/聲明使用的驅(qū)動(dòng)程序conn=DriverManager.getConnection(dbURL,userName,userPwd);/創(chuàng)建連接數(shù)據(jù)庫(kù)對(duì)象System.out.println(Connection Successful!); catch(Exception e)System.err.pri

22、ntln(OpenConn:+e.getMessage();ServerSocket svrsoc=null; Socket client=null; InputStream inputdata=null; OutputStream outputdata=null; BufferedReader in=null; PrintStream out=null; try svrsoc=new ServerSocket(7000); client=svrsoc.accept(); inputdata=client.getInputStream(); /實(shí)例化對(duì)象返回客戶端套接字的輸入流 in=new

23、BufferedReader(new InputStreamReader(inputdata) );/實(shí)例化對(duì)象讀取數(shù)據(jù)輸入流 outputdata=client.getOutputStream(); /實(shí)例化對(duì)象返回客戶端套接字的輸出流 out=new PrintStream(outputdata); /實(shí)例化對(duì)象讀取數(shù)據(jù)輸出流 InetAddress clientIP=client.getInetAddress();/得到客戶端IP System.out.println(Clients IP address:+clientIP);/顯示客戶端IP int port; port=client

24、.getPort(); /得到客戶端端口號(hào) System.out.println(Clients port:+port);/顯示客戶端端口號(hào) out.println(Welcome!.輸入你想要的文件名 1或2.輸入quit退出); String str=in.readLine(); /得到讀取的一個(gè)文本行 System.out.println(str); while(!str.equals(quit) System.out.println(Client said:+str);/得到讀取的一個(gè)文本行 if(str.equals(1) stmt=(Statement)conn.createStatement();/創(chuàng)建操作SQL語(yǔ)句的對(duì)象 String sql1

溫馨提示

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

評(píng)論

0/150

提交評(píng)論