在Java中,數據傳輸的方式大致分為直連和間連兩種方式。直連指的是在同一臺機器上的應用程序之間通過調用函數、使用變量等方式進行數據傳輸。間連則是指應用程序之間的數據傳輸通過網絡完成,包括了遠程方法調用、Socket等方式。
直連的代碼樣例: public class DirectConnect { public static void main(String[] args) { String data = "Hello, World!"; String result = handleData(data); System.out.println(result); } public static String handleData(String data) { return data.toUpperCase(); } }
上述代碼中,兩個函數在同一個Java程序中,在函數間傳遞數據通過函數參數和返回值實現。這是Java編程中最基礎、最常見的數據傳輸方式。
間連的代碼樣例: // 服務器端 import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class IndirectConnectServer { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(8080); System.out.println("Server started."); Socket socket = serverSocket.accept(); System.out.println("Client connected."); socket.getOutputStream().write("Hello, World!".getBytes()); serverSocket.close(); } } // 客戶端 import java.io.IOException; import java.net.Socket; public class IndirectConnectClient { public static void main(String[] args) throws IOException { Socket socket = new Socket("localhost", 8080); byte[] buffer = new byte[1024]; socket.getInputStream().read(buffer); String result = new String(buffer).trim(); System.out.println(result); socket.close(); } }
上述代碼模擬了客戶端和服務器之間使用Socket進行數據傳輸的情況。服務器端通過ServerSocket監聽端口,并在接收到客戶端連接后向客戶端發送數據??蛻舳送ㄟ^Socket連接到服務器,讀取服務器傳輸的數據并輸出到控制臺上。間連的數據傳輸方式雖然比直連更加復雜,但是它允許應用程序之間實現跨機器、跨平臺的數據傳輸,是網絡編程不可或缺的一部分。