この記事では、WebSocketを使用して簡単なチャットルームの会話を実装するための具体的なコードを参考までに共有します。具体的な内容は次のとおりです。 まず、ノード環境を構築し、app.jsに次のコードを記述します。 npm で socket.io-client をインストールします Socket は、高性能なサーバー フレームワークです。開発者は、1 つまたは 2 つのインターフェイスを実装することで、RPC サービス、チャット ルーム サーバー、モバイル ゲーム サーバーなどの独自のネットワーク アプリケーションを開発できます。 npm インストール http-server 一般的に、サーバーサービスが提供されます。パラメータでポート、アドレスなどを指定できます。たとえば、ポート 8888 でサービスを開始するには、コマンドは次のようになります: http-server src -p 8888 npm インストール koa Koa は、node.js を通じて非常に表現力豊かな HTTP ミドルウェア フレームワークを実装し、Web アプリケーションの開発と API の使用をより快適にすることを目指しています。 Koa のミドルウェアは、エンコードされた順序でスタック内で実行されるため、操作を実行してリクエストを下方向 (ダウンストリーム) に渡し、その後、逆の順序 (アップストリーム) でフィルタリングして応答を返すことができます。 実装コード// 依存関係を導入する const koa = require("koa") // koa を初期化する const app = 新しい koa() // http を有効にする var server = require("http").createServer(app.callback()) // ソケットを初期化する const io = require("socket.io")(server, { cors: true }) // リッスン io.on('connection', (socket) => { // クライアントにメッセージを積極的に送信する setTimeout(() => { // io オブジェクト メソッドの emitting を通じてカスタム イベントをトリガーし、クライアントにメッセージを送信します io.emit('chat message', 'What do you want to say?') }, 1000) socket.on('切断', () => { console.log('ユーザーが切断されました') }) // サーバーでクライアントのメッセージを受信します // on メソッドを通じてイベントをリッスンします。クライアントがメッセージを送信すると、イベントがトリガーされ、クライアントが送信したメッセージを受信できます socket.on('chat message', (msg) => { コンソール.log(メッセージ) // msgはクライアントから送信されたメッセージです // クライアントにメッセージを送信することはemitです タイムアウトを設定する(() => { msg = msg.replace("あなた", "私").replace("?", "").replace("?", "!") // 処理されたメッセージをクライアントに送信するイベントをトリガーします io.emit('chat message', msg) }, 500) }) }) server.listen(5522,()=>{ console.log('ソケットサービスは有効です。ポート番号は5522です') }); このサービスに電話する 'socket.io-client' から { io } をインポートします 作成された(){ // 1. カスタマイズ可能な接続を作成する this.socket = io('ws://localhost:5522') // 2. 接続を確立する this.socket.on('connect', () => { console.log('接続が正常に確立されました') }) // 3. メッセージをリッスンして this.socket.on('chat message', msg => { を返します。 console.log('サービスから返されたメッセージ', msg) }) } これにより、簡単な AI 会話が可能になります。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Nginx フォワード プロキシとリバース プロキシ、および負荷分散機能の構成コード例
Ubuntu のバージョンに関係なく、MySQL データベースのインストールは基本的に同じです。具...
共同インデックスこの記事におけるジョイントインデックスの定義は次のとおりです (MySQL): AL...
問題の背景:再生中のビデオのスクリーンショットを撮る必要があります。ビデオはビデオタグを使用して再生...
目次説明する:要約する補充するDOM を直接変更して操作する js や jQuery とは異なり、V...
MySQL インデックスの確立は、MySQL の効率的な操作にとって非常に重要です。インデックスによ...
Remote-SSHをインストールして設定するまず VSCode を開き、拡張機能を見つけて、Rem...
オリンピック期間中にIE8ベータ2がリリースされ、英語版のリリースに合わせて中国語版も第一波でリリー...
目次1.MySQLは時間間隔を加算または減算します2. 日付を減算する最近、MySQL を見直してい...
以前、Amap API を非同期にロードする方法を紹介しました。今回は、vue-amap の使用方法...
目次概要計算された監視プロパティを監視する要約する概要Vue プロジェクトでは、computed と...
Linux chmodコマンドを使用して、ターゲット ファイルにアクセス、読み取り、書き込み、または...
前回の記事では、入力完了の簡単な検出を実現しましたが、今回はさらに一歩進んで、入力が完了した後に次の...
この記事では、キャンバスを使用して画像圧縮アップロードを実現するVueの具体的なコードを参考までに共...
数日前に CentOS8 がリリースされました。8 の最初のバージョンですが、今日は VM12 に ...
1つ: 1.セマンティック タグは単なる HTML であり、CSS にはセマンティクスはありません...