Artikel ini menyediakan panduan langkah demi langkah tentang cara membina aplikasi pemesejan segera (IM) menggunakan pengaturcaraan rangkaian Java. Panduan ini merangkumi: Mencipta komponen bahagian pelayan. Buat komponen pelanggan. Jalankan pelayan dan kod klien untuk menghantar dan menerima mesej. Dengan mengikuti langkah ini, anda boleh menggunakan pengaturcaraan rangkaian Java untuk membangunkan pelbagai aplikasi rangkaian seperti perangkak web, sistem pemindahan fail dan permainan dalam talian.
Panduan untuk menggunakan pengaturcaraan rangkaian Java kepada projek dunia sebenar
Membangunkan aplikasi rangkaian dalam Java melibatkan penciptaan komponen bahagian pelayan dan bahagian klien. Artikel ini akan membimbing anda langkah demi langkah melalui membina aplikasi pemesejan segera (IM) mudah menggunakan pengetahuan anda tentang pengaturcaraan rangkaian Java.
Sisi pelayan
Server
yang memanjangkan kelas ServerSocket
. Server
类,扩展 ServerSocket
类。main
方法中,创建一个 ServerSocket
实例,并监听指定端口。accept
方法等待传入的客户端连接。客户端端
Client
类,用于连接到服务器。main
方法中,创建 Socket
实例,并通过服务器地址和端口连接到服务器。getInputStream
和 getOutputStream
utama
, buat contoh ServerSocket
dan dengarkan port yang ditentukan. Gunakan kaedah terima
untuk menunggu sambungan pelanggan masuk. Buat urutan baharu untuk setiap sambungan, utas ini bertanggungjawab untuk mengendalikan penerimaan dan penghantaran mesej daripada pelanggan.
Pelanggan
Buat projek Java baharu dan tambah kebergantungan yang diperlukan. Buat kelas Client
untuk menyambung ke pelayan.
Dalam kaedah utama
, buat contoh Socket
dan sambung ke pelayan melalui alamat dan port pelayan.
Gunakan kaedah getInputStream
dan getOutputStream
untuk membaca dan menghantar mesej daripada pelayan.
Kes Praktikal: Aplikasi IM Mudah
import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(8080); while (true) { Socket clientSocket = serverSocket.accept(); Thread thread = new Thread(new ClientHandler(clientSocket)); thread.start(); } } } class ClientHandler implements Runnable { private Socket clientSocket; public ClientHandler(Socket clientSocket) { this.clientSocket = clientSocket; } @Override public void run() { try { BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); PrintWriter writer = new PrintWriter(clientSocket.getOutputStream()); while (true) { String message = reader.readLine(); if (message == null) { break; } System.out.println("Received message: " + message); writer.println("Message received: " + message); writer.flush(); } } catch (IOException e) { e.printStackTrace(); } finally { try { clientSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } }
import java.io.*; import java.net.Socket; public class Client { public static void main(String[] args) throws IOException { Socket clientSocket = new Socket("localhost", 8080); BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); PrintWriter writer = new PrintWriter(clientSocket.getOutputStream()); while (true) { BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in)); String message = consoleReader.readLine(); writer.println(message); writer.flush(); String serverMessage = reader.readLine(); System.out.println("Server response: " + serverMessage); } } }
Atas ialah kandungan terperinci Bagaimana untuk menggunakan pengetahuan pengaturcaraan rangkaian Java kepada projek sebenar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!