ホームページ >Java >&#&チュートリアル >Java ネットワーク プログラミングの知識を実際のプロジェクトに適用する方法
この記事では、Java ネットワーク プログラミングを使用してインスタント メッセージング (IM) アプリケーションを構築する方法について段階的なガイドを提供します。このガイドの内容は次のとおりです。 サーバー側コンポーネントの作成。クライアントコンポーネントを作成します。サーバーとクライアントのコードを実行してメッセージを送受信します。これらの手順に従うことで、Java ネットワーク プログラミングを使用して、Web クローラー、ファイル転送システム、オンライン ゲームなどのさまざまなネットワーク アプリケーションを開発できます。
Java ネットワーク プログラミングを実際のプロジェクトに適用するためのガイド
Java でのネットワーク アプリケーションの開発には、サーバー側およびクライアント側のコンポーネントの作成が含まれます。この記事では、Java ネットワーク プログラミングの知識を使用して、簡単なインスタント メッセージング (IM) アプリケーションを構築する手順を段階的に説明します。
サーバー側
ServerSocket
クラスを拡張する Server
クラスを作成します。 Server
类,扩展 ServerSocket
类。main
方法中,创建一个 ServerSocket
实例,并监听指定端口。accept
方法等待传入的客户端连接。客户端端
Client
类,用于连接到服务器。main
方法中,创建 Socket
实例,并通过服务器地址和端口连接到服务器。getInputStream
和 getOutputStream
main
メソッドで、ServerSocket
インスタンスを作成し、指定されたポートをリッスンします。 accept
メソッドを使用して、受信クライアント接続を待ちます。 接続ごとに新しいスレッドを作成します。このスレッドは、クライアントからのメッセージの送受信を処理します。
クライアント
新しい Java プロジェクトを作成し、必要な依存関係を追加します。 サーバーに接続するための Client
クラスを作成します。
main
メソッドで、Socket
インスタンスを作成し、サーバーのアドレスとポートを介してサーバーに接続します。
getInputStream
メソッドと getOutputStream
メソッドを使用して、サーバーからメッセージを読み取り、送信します。
実践例: 単純な IM アプリケーション
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); } } }🎜サーバー側コードとクライアント側コードを実行すると、2 台のコンピューター間でメッセージを送受信できます。 🎜🎜🎜その他のアプリケーション シナリオ🎜🎜🎜 Java ネットワーク プログラミングは、次のシナリオでも広く使用されています: 🎜🎜🎜Web クローラー🎜🎜 ファイル転送システム🎜🎜ビデオ ストリーミング🎜🎜 オンライン ゲーム🎜🎜
以上がJava ネットワーク プログラミングの知識を実際のプロジェクトに適用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。