ReactとWebSocketを使ってリアルタイム通信機能を実装する方法
React と WebSocket を使用してリアルタイム通信機能を実装する方法
概要:
最新の Web アプリケーションでは、リアルタイム通信が非常に重要になっています。多くのアプリケーションは、ユーザーに最新の情報をタイムリーに表示するために、データをリアルタイムで取得および更新できる必要があります。この記事では、React と WebSocket を使用してリアルタイム通信機能を実装する方法を紹介します。 WebSocket を使用してリアルタイム チャット アプリケーションを構築する方法を示し、具体的なコード例を示します。
WebSocket とは何ですか?
WebSocket は、クライアントとサーバー間の双方向通信のためのシンプルかつ効率的な方法を提供する最新のネットワーク通信プロトコルです。 WebSocket プロトコルを使用すると、クライアントとサーバー間の長時間の接続が可能になり、データの更新に応じてこれらの更新をリアルタイムでクライアントにプッシュできます。 WebSocket は従来の HTTP リクエスト/レスポンス モデルよりも効率的で、リアルタイム アプリケーションでのプッシュ通知と即時通信が可能になります。
React を使用して簡単なチャット アプリケーションを作成する:
まず、React アプリケーションを作成する必要があります。 Create React App ツールを使用して、新しい React アプリケーションを作成できます。ターミナルで次のコマンドを実行して、新しい React アプリケーションを作成します:
npx create-react-app realtime-chat-app
作成したら、フォルダーに移動してアプリケーションを起動できます:
cd realtime-chat-app npm start
これで、基本的な React が完成しました。応用。これをベースにWebSocketを追加してリアルタイム通信機能を実現します。
WebSocket 通信機能の実装:
まず、WebSocket ライブラリをインストールする必要があります。ターミナルで次のコマンドを実行して、WebSocket ライブラリをインストールします。
npm install --save websocket
React コンポーネントでは、useState フックを使用してチャット メッセージ リストを管理できます。また、useEffect フックを使用して WebSocket 接続を初期化し、受信したメッセージを処理します。以下は、単純なチャット ボックス コンポーネントのサンプル コードです。
import React, { useState, useEffect } from "react"; import WebSocket from "websocket"; const ChatBox = () => { const [messages, setMessages] = useState([]); const [inputValue, setInputValue] = useState(""); let ws; useEffect(() => { ws = new WebSocket("ws://localhost:8000/ws"); // WebSocket服务器地址 ws.onopen = () => { console.log("WebSocket连接已建立"); }; ws.onmessage = (event) => { const message = JSON.parse(event.data); setMessages((messages) => [...messages, message]); }; return () => { ws.close(); }; }, []); const sendMessage = () => { ws.send(JSON.stringify({ content: inputValue })); setInputValue(""); }; return ( <div> <div> {messages.map((message, index) => ( <p key={index}>{message.content}</p> ))} </div> <input type="text" value={inputValue} onChange={(event) => setInputValue(event.target.value)} /> <button onClick={sendMessage}>发送</button> </div> ); }; export default ChatBox;
上記のコードでは、useState を使用してチャット メッセージ リスト (messages) と入力ボックスの値 (inputValue) を管理します。また、WebSocket 接続 (ws) を宣言し、コンポーネントのロード時に初期化します。新しいメッセージを受信すると、setMessages を使用してメッセージ リストを更新します。コンポーネントがアンロードされる直前に、WebSocket 接続を閉じます。
render 関数では、メッセージ リストと入力ボックスをレンダリングします。ユーザーが送信ボタンをクリックすると、入力ボックス内のテキストの内容が WebSocket サーバーに送信されます。
WebSocket サーバーを起動します:
WebSocket アプリケーションが適切に動作するためには、WebSocket サーバーも起動する必要があります。この例では、Node.js と ws ライブラリを使用して、単純な WebSocket サーバーを作成します。ターミナルで次のコマンドを実行して ws ライブラリをインストールします:
npm install --save ws
次に、server.js というファイルを作成し、次のコードを使用して WebSocket サーバーを作成します:
const WebSocket = require('ws'); const wss = new WebSocket.Server({ port: 8000 }); wss.on('connection', (ws) => { ws.on('message', (message) => { // 处理接收到的消息 wss.clients.forEach((client) => { if (client.readyState === WebSocket.OPEN) { client.send(message); } }); }); });
Now WebSocket サーバーは、次のコマンドを実行して起動できます。
node server.js
最後に、ChatBox コンポーネントを App.js に追加し、React アプリケーションを実行するだけです。入力ボックスにメッセージを入力して送信ボタンをクリックすると、メッセージは WebSocket 経由でサーバーに送信され、接続されているすべてのクライアントにリアルタイムで返されます。
まとめ:
今回は、ReactとWebSocketを使ってリアルタイム通信機能を実装する方法を紹介しました。 useState フックと useEffect フックを使用して、React コンポーネントの状態を管理および更新します。また、WebSocket 接続を作成し、新しいメッセージを受信したときに UI を更新します。最後に、メッセージを処理および転送するための単純な WebSocket サーバーを作成しました。この記事が、React アプリケーションにリアルタイム通信機能を実装する方法を理解するのに役立つことを願っています。
以上がReactと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)

ホットトピック









インターネット技術の継続的な発展に伴い、リアルタイムビデオストリーミングはインターネット分野における重要なアプリケーションとなっています。リアルタイムのビデオ ストリーミングを実現するための主要なテクノロジには、WebSocket と Java が含まれます。この記事では、WebSocket と Java を使用してリアルタイムのビデオ ストリーミング再生を実装する方法を紹介し、関連するコード例を示します。 1. WebSocket とは WebSocket は、単一の TCP 接続で全二重通信を行うためのプロトコルであり、Web 上で使用されます。

インターネット技術の継続的な発展により、リアルタイム通信は日常生活に欠かせないものになりました。 WebSocket テクノロジーを使用すると、効率的で低遅延のリアルタイム通信を実現できます。また、インターネット分野で最も広く使用されている開発言語の 1 つである PHP も、対応する WebSocket サポートを提供します。この記事では、PHP と WebSocket を使用してリアルタイム通信を実現する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は単一の

PHP と WebSocket: リアルタイム データ転送のベスト プラクティス方法 はじめに: Web アプリケーション開発では、リアルタイム データ転送は非常に重要な技術要件です。従来の HTTP プロトコルは要求応答モデルのプロトコルであり、リアルタイムのデータ送信を効果的に実現できません。リアルタイム データ送信のニーズを満たすために、WebSocket プロトコルが登場しました。 WebSocket は、単一の TCP 接続上で全二重通信を行う方法を提供する全二重通信プロトコルです。 Hと比べて

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaWebsocket はオンライン ホワイトボード機能をどのように実装しますか?現代のインターネット時代では、人々はリアルタイムのコラボレーションと対話の経験にますます注目しています。オンラインホワイトボードは、Websocketをベースに実装された機能で、複数のユーザーがリアルタイムで共同作業して同じ描画ボードを編集し、描画や注釈などの操作を完了できるようにし、オンライン教育、リモート会議、チームコラボレーション、他のシナリオ。 1. 技術的背景 WebSocket は HTML5 で提供される新しいプロトコルです。

この記事では、どちらも信頼できるデータ配信方法である Server Sent Events (SSE) と WebSocket を比較します。通信方向、基盤となるプロトコル、セキュリティ、使いやすさ、パフォーマンス、メッセージ構造、使いやすさ、テストツールを含む 8 つの側面で分析します。これらの側面の比較は次のように要約されます。 カテゴリ サーバー送信イベント (SSE) WebSocket の通信方向 単方向 双方向 基礎となるプロトコル HTTP WebSocket プロトコルのセキュリティ HTTP と同じ 既存のセキュリティの脆弱性 使いやすさ セットアップが簡単 セットアップが複雑 パフォーマンスが速い メッセージ送信速度が高い メッセージ処理の影響を受けるおよび接続管理 メッセージ構造 プレーンテキストまたはバイナリ 使いやすさ 広く利用可能 WebSocket の統合に役立つ

Golang は強力なプログラミング言語であり、WebSocket プログラミングでの Golang の使用が開発者の間でますます評価されています。 WebSocket は、クライアントとサーバー間の双方向通信を可能にする TCP ベースのプロトコルです。この記事では、Golang を使用して、複数の同時接続を同時に処理する効率的な WebSocket サーバーを作成する方法を紹介します。テクニックを紹介する前に、まず WebSocket とは何かを学びましょう。 WebSocketWeb の概要

Java と WebSocket を使用してリアルタイム株価プッシュを実装する方法 はじめに: インターネットの急速な発展に伴い、リアルタイム株価プッシュは投資家の注目の 1 つとなっています。従来の株式市場のプッシュ方式では、遅延が大きい、更新速度が遅いなどの問題があり、投資家にとって最新の株式市場情報をタイムリーに入手できないことは、投資判断の誤りにつながる可能性があります。 Java と WebSocket に基づくリアルタイムの株価プッシュはこの問題を効果的に解決し、投資家が最新の株価情報をできるだけ早く入手できるようにします。
