Javaを使用してWebSocketファイル転送機能を開発する方法
Java を使用して Websocket ファイル転送機能を開発する方法
インターネットの発展に伴い、ファイル転送は日常の仕事や生活に欠かせないものになりました。 Websocket は、ブラウザとサーバーの間に永続的な接続を確立する通信プロトコルとして、リアルタイムおよび双方向送信の特性を備えているため、ファイル転送に最適です。この記事では、Java を使用して Websocket ファイル転送機能を開発する方法と、具体的なコード例を紹介します。
1. Websocket サーバーの作成
ファイル転送機能を実装するには、まずクライアントのリクエストを受信して処理する Websocket サーバーを作成する必要があります。以下は、Java の Tomcat フレームワークを使用して Websocket サーバーを作成するためのサンプル コードです。
@ServerEndpoint("/upload") public class FileUploadServer { @OnOpen public void onOpen(Session session) { System.out.println("Client connected: " + session.getId()); } @OnMessage public void onMessage(ByteBuffer byteBuffer, Session session) throws IOException { Path path = Paths.get("uploads", session.getId() + ".jpg"); Files.write(path, byteBuffer.array()); System.out.println("File uploaded: " + path.toString()); } @OnClose public void onClose(Session session) { System.out.println("Client disconnected: " + session.getId()); } @OnError public void onError(Throwable e) { e.printStackTrace(); } }
上記のコードでは、@ServerEndpoint
アノテーションを使用して Websocket サーバーに注釈を付け、クライアント アクセスを指定します。 URL は /upload
です。サーバー側には、クライアント接続の処理、ファイル データの受信、切断、例外の処理をそれぞれ行うための 4 つのメソッドが用意されています。このうち、onMessage
メソッドは、ファイルデータを受信したときに呼び出され、ファイルを uploads
フォルダーに保存し、クライアントの ID をファイル名として使用します。
2. Websocket クライアントの作成
次に、ファイル データをサーバーに送信するための Websocket クライアントを作成する必要があります。以下は、Java の JavaFX フレームワークを使用して Websocket クライアントを作成するためのサンプル コードです。
public class FileUploadClient extends Application { private static final String SERVER_URI = "ws://localhost:8080/upload"; private WebSocketClient client; public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { try { URI uri = new URI(SERVER_URI); client = new WebSocketClient(uri) { @Override public void onOpen(ServerHandshake handshakedata) { System.out.println("Connected to server"); } @Override public void onMessage(String message) { System.out.println("Received message: " + message); } @Override public void onClose(int code, String reason, boolean remote) { System.out.println("Disconnected from server"); } @Override public void onError(Exception ex) { ex.printStackTrace(); } }; client.connect(); } catch (URISyntaxException e) { e.printStackTrace(); } } public void uploadFile(Path path) throws IOException { byte[] bytes = Files.readAllBytes(path); client.send(bytes); System.out.println("File uploaded: " + path.toString()); } }
上記のコードでは、サーバー側 URL ws:// に接続することにより、JavaFX を使用して単純なインターフェイスを作成しました。 localhost :8080/upload
であり、サーバーとの通信のさまざまな段階を処理するクライアントの 4 つのメソッドを実装します。 uploadFile
メソッドは、指定されたファイルをバイト配列に読み取り、クライアント経由でサーバーに送信するために使用されます。
3. サーバーとクライアントの起動
サーバーとクライアントのコードが完了したら、それらを起動してファイル転送機能をテストする必要があります。まず、サーバー側コードを Tomcat または Java Web アプリケーションをサポートするその他のサーバーにデプロイし、サーバーを起動する必要があります。その後、クライアント コードを直接実行して、JavaFX アプリケーションを起動できます。
プログラムの実行後、クライアントはサーバーとの接続を確立し、「サーバーに接続しました」というプロンプト メッセージがコンソールに表示されます。次に、インターフェース上のファイルセレクターを通じてアップロードするファイルを選択し、「アップロード」ボタンをクリックします。クライアントは選択したファイルをサーバーに送信し、「アップロードされたファイル: ファイル パス」というプロンプト メッセージをコンソールに出力します。
4. 概要
この記事では、Java を使用して Websocket ファイル転送機能を開発する方法を紹介し、サーバーとクライアントの具体的なコード例を示します。 Websocket プロトコルの双方向通信とリアルタイム性により、高速、効率的、安全なファイル転送を実現できます。読者の皆様は、この記事で提供されているサンプル コードに基づいて、Websocket ファイル転送テクノロジをさらに検討して適用できると思います。
以上がJavaを使用してWebSocketファイル転送機能を開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

Java での日付までのタイムスタンプに関するガイド。ここでは、Java でタイムスタンプを日付に変換する方法とその概要について、例とともに説明します。

カプセルは3次元の幾何学的図形で、両端にシリンダーと半球で構成されています。カプセルの体積は、シリンダーの体積と両端に半球の体積を追加することで計算できます。このチュートリアルでは、さまざまな方法を使用して、Javaの特定のカプセルの体積を計算する方法について説明します。 カプセルボリュームフォーミュラ カプセルボリュームの式は次のとおりです。 カプセル体積=円筒形の体積2つの半球体積 で、 R:半球の半径。 H:シリンダーの高さ(半球を除く)。 例1 入力 RADIUS = 5ユニット 高さ= 10単位 出力 ボリューム= 1570.8立方ユニット 説明する 式を使用してボリュームを計算します。 ボリューム=π×R2×H(4
