實驗六-基于協議的網絡編程_第1頁
實驗六-基于協議的網絡編程_第2頁
實驗六-基于協議的網絡編程_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗六 基于協議的網絡編程實驗六 基于協議的網絡編程實驗目的:1、理解網絡協議編程的根本原理;2、學會基于協議編程的設計思路和技術;3、掌握基于協議編程的具體應用。實驗要求:1、建立一個的基于協議編程的 JAVA 工程;2、建立協議編程的 JAVA 類,并能正確運行且能實現協議通信;3、對 JAVA 類的功能進行拓廣,使基于協議編程用于某一具體的應用。 實驗內容:1、建立工程和 JAVA 類,類程序的原代碼為:import java.io.*;import .*;public class ClientMainTest public static void main(String args) t

2、hrows IOException Socket kkSocket = null;PrintWriter out = null;BufferedReader in = null;try kkSocket = new Socket("ss", 5555);out = new PrintWriter(), true);in = new BufferedReader(new InputStreamReader();catch (UnknownHostException e) ("Don't know about host: ss");(1);catch

3、 (IOException e) ("Couldn't get I/O for the connection ");(1);BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in); String fromServer;String fromUser;while ( (fromServer = () != null) ("Server: " + fromServer);if ("Bye.") break;fromUser = ();if

4、 (fromUser != null) ("Client: " + fromUser);(fromUser);();();();();/import java.io.*;import .*;public class MultiServerTest public static void main(String args) throws IOException ServerSocket serverSocket = null;boolean listening = true;try serverSocket = new ServerSocket(5555);catch (IOE

5、xception e) ("Could not listen on port: 5555.");( -1);while (listening) new MultiServerThreadTest().start();();/import java.io.*;import .*;public class MultiServerThreadTestextends Thread private Socket socket = null;public MultiServerThreadTest(Socket socket) super("MultiServerThread

6、Test");= socket;public void run() try PrintWriter out = new PrintWriter(), true);BufferedReader in = new BufferedReader(new InputStreamReader();String inputLine, outputLine;ServerProtocolTest kkp = new ServerProtocolTest(); outputLine = (null);(outputLine);while ( (inputLine = () != null) outpu

7、tLine = (inputLine); (outputLine); if ("Bye") break;();();();catch (IOException e) ();/ /public class ServerProtocolTest private static final int WAITING = 0;private static final int SENTKNOCKKNOCK = 1;private static final int SENTCLUE = 2;private static final int ANOTHER = 3;private stati

8、c final int NUMJOKES = 5;private int state = WAITING;private int currentJoke = 0;private String clues = "1", "2","3", "4", "5"private String answers = "6", "7" "8" "10"public String processInput(String theInput

9、) String theOutput = null;if (state = WAITING) theOutput = "Holle"state = SENTKNOCKKNOCK;else if (state = SENTKNOCKKNOCK) if (" 你好! ") theOutput = cluescurrentJoke;state = SENTCLUE;else theOutput = "8888888"else if (state = SENTCLUE) if (cluescurrentJoke + " string

10、98") theOutput = answerscurrentJoke + " yyyyy" state = ANOTHER;else theOutput = "rrrrrr" +"hhhhhhhhhh"state = SENTKNOCKKNOCK;else if (state = ANOTHER) if ("y") theOutput = "565656"if (currentJoke = (NUMJOKES - 1) currentJoke = 0;else currentJoke+;state = SENTKNOCKKNOCK;else theOutput = "Bye."state = WAITING;return theOutput;/ /2、調試使以上工

溫馨提示

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

評論

0/150

提交評論