跨網絡主機的互操作/遠程控制/遠程桌面的概念設計(二)
阿新 • • 發佈:2017-10-15
ioe buffer href 網絡 pin imp test lin sock
前一篇(跨網絡主機的互操作/遠程控制/遠程桌面的概念設計(一))就是概念設計了一下,覺得可行,這次用2個USB網卡聯通以後,實際測試了下,還真的可行。
不過仔細想了想,這個還是有很大風險的,畢竟內網和互聯網電腦組成了一個局域網,如果有局域網病毒入侵到任一臺電腦上,另外一臺也是會中毒的。
一、物理連接
使用兩個USB網卡,分別插到內網主機和互聯網主機上,然後用網線連接起來。分別設置兩個USB網卡的IP地址為 192.168..0.1 和 192.168.0.2。我測試是一個 Win7 一個Win10系統,不用配置什麽躍點和靜態路由,就能三個網絡方向可用。兩臺主機不僅原網絡正常,彼此間也能直接ping通,說明win7和win10的網卡協議都挺智能,會自動路由,給IP包找指定的網關。
二、Java Socket測試
服務端代碼:
1 package com.wfg; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 import java.io.PrintWriter; 7 import java.net.ServerSocket; 8 import java.net.Socket; 9 10 public class TestS { 11 public staticvoid main(String[] args) throws IOException { 12 13 ServerSocket server = new ServerSocket(9899); 14 System.out.println("The Server is start: " + server); 15 while (true) { 16 Socket client = server.accept(); 17 System.out.println("Accept the Client: " + client);18 BufferedReader in = new BufferedReader(new InputStreamReader(client 19 .getInputStream())); 20 PrintWriter out = new PrintWriter(client.getOutputStream()); 21 while (true) { 22 23 String str = in.readLine(); 24 System.out.println(str); 25 out.println("has receive."); 26 out.flush(); 27 if (str.equals("end")) 28 break; 29 30 } 31 32 client.close(); 33 34 } 35 36 } 37 }
客戶端代碼:
package com.wfg; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.InetAddress; import java.net.Socket; public class TestC { static Socket server; public static void main(String[] args) throws Exception { server = new Socket("192.168.0.1", 9899); BufferedReader in = new BufferedReader(new InputStreamReader(server .getInputStream())); PrintWriter out = new PrintWriter(server.getOutputStream()); BufferedReader wt = new BufferedReader(new InputStreamReader(System.in)); while (true) { String str = wt.readLine(); out.println(str); out.flush(); if (str.equals("end")) { break; } } server.close(); } }
啰嗦一句,如何運行class文件:使用 java -cp [class文件路徑] com.wfg.TestS
經個人測試,客戶端輸入信息,服務器端都能正常的回顯。
跨網絡主機的互操作/遠程控制/遠程桌面的概念設計(二)