20165321 實驗五 網絡編程與安全-2
阿新 • • 發佈:2018-06-10
void main final code 分享 證明 運行 utf CA
任務詳情
結對編程:1人負責客戶端,一人負責服務器
- 註意責任歸宿,要會通過測試證明自己沒有問題
- 基於Java Socket實現客戶端/服務器功能,傳輸方式用TCP
- 客戶端讓用戶輸入中綴表達式,然後把中綴表達式調用MyBC.java的功能轉化為後綴表達式,把後綴表達式通過網絡發送給服務器
- 服務器接收到後綴表達式,調用MyDC.java的功能計算後綴表達式的值,把結果發送給客戶端
- 客戶端顯示服務器發送過來的結果
- 上傳測試結果截圖和碼雲鏈接
我完成的是服務器部分
運行截圖(服務器部分)
客戶端部分的截圖在我的結對搭檔的博客裏面
代碼
Server_2.java
import java.io.*; import java.net.*; import java.util.*; public class Server_2 { public static void main(String[] args) { final int port=5353; ServerSocket Server_2forClient_2=null; Socket SocketOnServer_2=null; DataOutputStream Server_2out=null; DataInputStream Server_2in=null; try { Server_2forClient_2=new ServerSocket(port); } catch (IOException e1) { System.out.println(e1); //e1.printStackTrace(); } try { System.out.println("等待客戶端呼叫……"); SocketOnServer_2=Server_2forClient_2.accept(); Server_2out=new DataOutputStream(SocketOnServer_2.getOutputStream()); Server_2in=new DataInputStream(SocketOnServer_2.getInputStream()); String s=Server_2in.readUTF(); System.out.println("服務器接收到表達式:"+s); String expr; int result; MyBC mybc=new MyBC(); mybc.setExpression(s); expr=mybc.changedWay(); result=mybc.evaluate(expr); Server_2out.writeUTF("中綴表達式“"+s+"”轉後綴表達式“"+expr+",運算結果為:"+result); //Thread.sleep(500); } catch (Exception e2) { System.out.println("客戶端已斷開"+e2); } } }
Client_2.java
import java.io.*; import java.net.*; import java.util.*; public class Client_2 { public static void main(String[] args) { final int port=5353; final String host="172.30.4.50"; Socket Client_2Socket; DataInputStream Client_2in=null; DataOutputStream Client_2out=null; String expr; Scanner scanner=new Scanner(System.in); System.out.println("請輸入表達式:"); expr=scanner.nextLine(); try { Client_2Socket=new Socket(host,port); Client_2in=new DataInputStream(Client_2Socket.getInputStream()); Client_2out=new DataOutputStream(Client_2Socket.getOutputStream()); Client_2out.writeUTF(expr); String s=Client_2in.readUTF(); System.out.println("服務器回復:\n"+s); } catch (Exception e) { System.out.println("服務器已斷開"+e); } } }
20165321 實驗五 網絡編程與安全-2