Pustaka fungsi Java menyediakan satu siri alat komunikasi rangkaian, termasuk pakej java.net (menyediakan kelas rangkaian teras), pakej java.nio (menyediakan API I/O berprestasi tinggi) dan alatan berguna lain seperti Apache HttpClient , Netty dan gRPC Java). Alat ini membolehkan pembangun mencipta aplikasi klien dan pelayan, menghantar dan menerima data dengan mudah serta mengurus sambungan rangkaian.
Alat komunikasi rangkaian biasa dalam perpustakaan Java
Bahasa pengaturcaraan Java menyediakan satu siri perpustakaan dan kelas fungsi yang berkuasa untuk membina aplikasi komunikasi rangkaian yang boleh dipercayai dan cekap. Alat ini membolehkan pembangun berkomunikasi dengan mudah antara pelanggan dan pelayan, menghantar dan menerima data serta mengurus sambungan rangkaian. Berikut ialah beberapa alat komunikasi rangkaian yang paling biasa digunakan dalam pustaka fungsi Java:
pakej java.net
Pakejjava.net
mengandungi kelas komunikasi rangkaian teras dan antara muka yang disediakan oleh Java platform. Ia menyediakan sokongan untuk soket TCP/IP, URL, URI dan infrastruktur rangkaian lain. java.net
包包含 Java 平台提供的核心网络通信类和接口。它为 TCP/IP 套接字、URL、URI 和其他网络基础设施提供了支持。
实战案例:使用 Socket 创建简单客户端和服务器
// 客户端 import java.net.*; public class SocketClient { public static void main(String[] args) throws Exception { // 创建 Socket 并连接到服务器 Socket socket = new Socket("localhost", 8080); // 获取输出流并发送消息 DataOutputStream out = new DataOutputStream(socket.getOutputStream()); out.writeUTF("Hello from client!"); // 关闭输出流和 Socket out.close(); socket.close(); } } // 服务器 import java.net.*; public class SocketServer { public static void main(String[] args) throws Exception { // 创建 ServerSocket 并侦听连接 ServerSocket serverSocket = new ServerSocket(8080); while (true) { // 接受客户端连接 Socket clientSocket = serverSocket.accept(); // 获取输入流并读取消息 DataInputStream in = new DataInputStream(clientSocket.getInputStream()); String message = in.readUTF(); System.out.println("Received message: " + message); // 关闭输入流和 Socket in.close(); clientSocket.close(); } } }
java.nio 包
java.nio
: Pengecam Sumber Seragam, digunakan untuk mengenal pasti sumber rangkaian secara unik.
Kes praktikal: Gunakan Soket untuk mencipta pelanggan dan pelayan yang mudah
// 服务器 import java.net.*; import java.nio.*; import java.nio.channels.*; public class NonBlockingServerSocket { public static void main(String[] args) throws Exception { // 创建 ServerSocketChannel 并绑定到端口 ServerSocketChannel serverSocketChannel = ServerSocketChannel.open(); serverSocketChannel.bind(new InetSocketAddress(8080)); serverSocketChannel.configureBlocking(false); // 创建 Selector 并注册 ServerSocketChannel Selector selector = Selector.open(); serverSocketChannel.register(selector, SelectionKey.OP_ACCEPT); while (true) { // 侦听可用的选择键 int readyKeys = selector.select(); if (readyKeys == 0) { continue; } // 处理可用的选择键 Iterator<SelectionKey> keys = selector.selectedKeys().iterator(); while (keys.hasNext()) { SelectionKey key = keys.next(); keys.remove(); // 处理可接受的键 if (key.isAcceptable()) { SocketChannel clientSocketChannel = serverSocketChannel.accept(); clientSocketChannel.configureBlocking(false); clientSocketChannel.register(selector, SelectionKey.OP_READ); } // 处理可读的键 else if (key.isReadable()) { // ... } } } } }
java.nio
pakej menyediakan pakej tanpa sekatan tahap rendah dan berprestasi tinggi Pakej I/O O API, digunakan untuk mengendalikan komunikasi rangkaian. Ia menyediakan kelas utama berikut: Atas ialah kandungan terperinci Apakah alat komunikasi rangkaian biasa yang disertakan dalam perpustakaan fungsi Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!