ホームページ >ウェブフロントエンド >フロントエンドQ&A >nodejsはシングルチャット機能を実装します
Node.js はシングル チャット機能を実装します
Node.js は、Chrome の V8 エンジンをベースとした JavaScript 実行環境であり、サーバー側で JavaScript を実行できます。 Node.js を使用すると、高性能でスケーラブルな Web アプリケーションを簡単に構築できます。 この記事では、Node.js を使用して、単純な単一チャット機能、つまり 2 人のユーザー間のリアルタイム チャットを実装します。 必要なツールとテクノロジー:npm install express socket.io --saveこれにより、Express ライブラリと Socket.IO ライブラリがインストールされ、package.json ファイルに追加されます。
const express = require('express'); const app = express(); const server = app.listen(3000, () => { console.log('Server is listening on port 3000'); });これにより、Express アプリケーションが作成され、ポート 3000 にバインドされます。これで、ブラウザを開いて http://localhost:3000 にアクセスして、サーバーが適切に実行されていることをテストできます。すべてが正常であれば、アプリケーションにルートを追加していないため、「Cannot GET /」というメッセージが表示されます。
const io = require('socket.io')(server); io.on('connection', (socket) => { console.log('A user connected'); socket.on('disconnect', () => { console.log('A user disconnected'); }); });これにより、Socket.IO インスタンスが作成され、既存の HTTP サーバーにバインドされます。新しい接続がある場合、コールバック関数は「ユーザーが接続しました」というメッセージを出力します。接続が切断されると、コールバック関数は「ユーザーが切断されました」というメッセージを出力します。 これで、チャット ルームにメッセージを送受信する機能を追加できます。これには、Socket.IO の Emit() メソッドと on() メソッドを使用できます。 次のコードをserver.js ファイルに追加します。
io.on('connection', (socket) => { console.log('A user connected'); socket.on('disconnect', () => { console.log('A user disconnected'); }); socket.on('chat message', (msg) => { console.log('message: ' + msg); io.emit('chat message', msg); }); });これにより、ユーザーはメッセージを送信し、接続されているすべてのクライアントにメッセージをブロードキャストできるようになります。
<!DOCTYPE html> <html> <head> <title>Node.js Chat</title> </head> <body> <ul id="messages"></ul> <form id="message-form"> <input type="text" id="input-message" autocomplete="off" /> <button>Send</button> </form> <script src="/socket.io/socket.io.js"></script> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script> $(function () { const socket = io(); $('#message-form').submit(function(e) { e.preventDefault(); // prevents page reloading const message = $('#input-message').val(); socket.emit('chat message', message); $('#input-message').val(''); return false; }); socket.on('chat message', function(msg) { $('#messages').append($('<li>').text(msg)); }); }); </script> </body> </html>この HTML ファイルでは、DOM 操作を簡略化するために jQuery ライブラリを使用しています。これには、入力ボックスと「送信」ボタンに加えて、すべてのメッセージを表示する ff6d136ddc5fdfeffaf53ff6ee95f185 要素が含まれています。 JavaScript 部分では、Socket.IO のクライアント側ライブラリを使用して、サーバーに接続する Socket.IO インスタンスを作成し、ユーザーがフォームを送信した後にサーバーにメッセージを送信しました。クライアントはサーバーから新しいメッセージを受信すると、新しいリスト項目をページに追加します。
node server.js次に、Web を開きます。ブラウザで http://localhost:3000 にアクセスします。シンプルなチャット インターフェイスが表示されるはずです。別のブラウザ ウィンドウまたは同じコンピュータ上の別のブラウザ タブを開いて、チャットを開始します。 概要この記事では、Node.js と Socket.IO ライブラリを使用して、リアルタイムのシングル チャット アプリケーションを構築しました。このアプリケーションを使用すると、ユーザーはメッセージを送受信でき、Socket.IO ライブラリを使用してすべてのリアルタイム通信を処理できます。このアプリケーションは比較的単純ですが、Node.js と Socket.IO を使用してリアルタイム Web アプリケーションを構築する方法の基本原則を示しています。
以上がnodejsはシングルチャット機能を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。