オンライン チャット ルームにおける WebSocket テクノロジの実用的な応用
インターネットの急速な発展に伴い、インスタント メッセージングに対する人々の需要はますます高まっています。従来の HTTP プロトコルはデータを送信できますが、毎回リクエストを開始する必要があるため、非効率的です。この問題を解決するために、WebSocket テクノロジーが登場しました。 WebSocket テクノロジは、ブラウザとサーバーの間に永続的な双方向通信チャネルを確立できるため、データ送信の効率とリアルタイム パフォーマンスが大幅に向上するため、オンライン チャット ルームで広く使用されています。
WebSocket の利点:
以下では、オンライン チャット ルームを例として、WebSocket テクノロジの実際のアプリケーションを紹介します。
まず、サーバー側で、バックエンド言語として Node.js を使用します。 Node.js を使用する利点は、開発に JavaScript 言語を使用できるため、フロントエンドとの対話が容易になることです。
//引入WebSocket模块 const WebSocket = require('ws'); //创建WebSocket服务器 const wss = new WebSocket.Server({ port: 3000 }); //保存连接的用户 const users = new Set(); //WebSocket服务端启动成功后的回调函数 wss.on('listening', () => { console.log('WebSocket server is running on port 3000.'); }); //处理WebSocket连接 wss.on('connection', (ws) => { //将新用户添加到用户列表中 users.add(ws); //监听消息事件 ws.on('message', (message) => { //将消息发送给其他用户 users.forEach((user) => { if (user !== ws) { user.send(message); } }); }); //监听连接关闭事件 ws.on('close', () => { //将用户从用户列表中移除 users.delete(ws); }); });
クライアント側では、HTML、CSS、JavaScript を使用してユーザー インターフェイスを実装し、サーバーと通信します。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>在线聊天室</title> <style> #chat { width: 400px; height: 300px; margin-bottom: 10px; overflow-y: auto; } </style> </head> <body> <div id="chat"></div> <input type="text" id="message" placeholder="请输入消息"> <button id="send">发送</button> <script> const chat = document.getElementById('chat'); const messageInput = document.getElementById('message'); const sendButton = document.getElementById('send'); //创建WebSocket连接 const ws = new WebSocket('ws://localhost:3000'); //监听WebSocket连接成功事件 ws.addEventListener('open', () => { console.log('WebSocket connection is established.'); }); //监听WebSocket接收到消息事件 ws.addEventListener('message', (event) => { const message = event.data; const messageNode = document.createElement('p'); messageNode.textContent = message; chat.appendChild(messageNode); }); //发送消息 sendButton.addEventListener('click', () => { const message = messageInput.value; ws.send(message); messageInput.value = ''; }); </script> </body> </html>
上記のコードは、単純なオンライン チャット ルームを実装しています。ユーザーがブラウザを通じてページにアクセスすると、WebSocket 接続が確立され、ユーザーが入力したメッセージがサーバーに送信されます。サーバーは受信したメッセージを接続中の他のユーザーに転送することで、リアルタイムチャット機能を実現します。
WebSocket テクノロジーにより、オンライン チャット ルームの実用化が実現します。 WebSocket の双方向通信は、時間遅延とネットワーク トラフィックを効果的に削減し、より良いユーザー エクスペリエンスを提供します。 WebSocket テクノロジーは今後も発展し、改良されていくため、より多くの分野で応用され、推進されることになると思います。
以上がオンラインチャットルームにおけるWebSocket技術の実用化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。