私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
WebSocket は、単一の長期持続的 TCP 接続を介した全二重通信のチャネルを提供するネットワーク通信プロトコルです。
WebSocket を使用すると、クライアントとサーバーの間で双方向のデータ交換が可能になります。つまり、サーバーは、クライアントのリクエストを待たずに、アクティブにデータをクライアントにプッシュできます。 WebSocket 接続が確立されると、クライアントとサーバーの両方がいつでもデータを送信できるようになり、リアルタイム性と対話性が大幅に向上します。
フロントエンドを使用する場合は、直接渡すことができますnew WebSocket
使用しますが、ネイティブを使用しますWebSocket
提供されている機能は比較的シンプルであり、いくつかの問題には自分で対処する必要があります。これは次の方法で利用できますsocket.io-client
動作します
socket.io-client
ネイティブ WebSocket API と比較して、より豊富な機能と幅広い互換性を提供するため、多くの場合、より良い選択肢となります。以下はsocket.io-client
主な利点のいくつかは次のとおりです。
互換性:
socket.io-client
WebSocket をサポートしていないブラウザーでは、ロングポーリング、Flash Sockets などの他の送信方法に自動的にフォールバックし、ほぼすべての最新のブラウザーと一部の古いブラウザーで確実に動作します。
自動的に再接続する:
ネットワーク接続が中断された場合、またはサーバーが再起動された場合、socket.io-client
再接続は自動的に試行できますが、ネイティブ WebSocket では再接続ロジックを手動で処理する必要があります。
エラー処理:
socket.io-client
ネットワーク エラーをより適切に報告および処理するための、より完全なエラー処理メカニズムを提供します。
socket.io-client
クライアント (通常はブラウザーまたは Node.js アプリケーション) 上の Socket.IO サーバーと通信するためのライブラリです。自動再接続、ハートビート検出、エラー処理、その他の機能を含む、リアルタイムの双方向通信を処理できる強力な API を提供します。
まず、インストールする必要があります socket.io-client
。プロジェクト ディレクトリで次のコマンドを実行します。
npm install socket.io-client
JavaScript ファイルでは、ES6 モジュールのインポート メソッドを使用して、 socket.io-client
:
import { io } from 'socket.io-client';
または、CommonJS モジュールを使用している場合は、次のようにすることもできます。
const io = require('socket.io-client');
Socket インスタンスを作成するには、通常、サーバーの URL を渡す必要があります。これは、相対パス (同じドメイン名の場合) または完全 URL (クロスドメイン接続の場合) にすることができます。例えば:
const socket = io('http://localhost:3000');
const socket = io('https://yourdomain.com');
const socket = io("wss://server-domain.com");
Socket インスタンスを作成すると、接続ステータスの変更、メッセージの受信などのさまざまなイベントをリッスンできるようになります。
socket.on('connect', () => {
console.log('Connected to server');
});
socket.on('disconnect', (reason) => {
console.log('Disconnected from server', reason);
});
socket.on('message', (data) => {
console.log('Received message from server', data);
});
使用できます emit
メソッドはイベントとデータをサーバーに送信します。
socket.emit('chat message', { message: 'Hello from the client!' });
ソケット接続は、接続が不要になったときに明示的に閉じることができます。
socket.disconnect();
これはクライアント側での使用方法を示す完全な例です。 socket.io-client
:
import { io } from 'socket.io-client';
// 创建 Socket 实例
const socket = io('http://localhost:3000');
// 监听连接事件
socket.on('connect', () => {
console.log('Connected to server');
});
// 监听接收消息事件
socket.on('message', (data) => {
console.log('Received message from server', data);
});
// 发送消息到服务器
socket.emit('chat message', { message: 'Hello from the client!' });
// 当组件销毁时,关闭 Socket 连接
// 如果你是在 Vue 或 React 的生命周期钩子中使用,确保在这里调用 disconnect
// 或者使用适当的事件来触发断开连接
// socket.disconnect();