基於websocket實現簡單聊天室對話
本文實例為大傢分享瞭vue + element ui 實現錨點定位的具體代碼,供大傢參考,具體內容如下
首先搭建一個node的環境,在app.js中寫入以下代碼
npm install socket.io-client
socket是一個高性能的服務器框架,開發者隻要實現一兩個接口,便可以開發出自己的網絡應用,例如Rpc服務、聊天室服務器、手機遊戲服務器等。
npm install http-server
一般提供server服務,參數可以指定端口、地址等等,例如指定服務在8888端口啟動,命令為:http-server src -p 8888
npm install koa
Koa 通過 node.js 實現瞭一個十分具有表現力的 HTTP 中間件框架,力求讓 Web 應用開發和 API 使用更加地愉快。Koa的中間件之間按照編碼順序在棧內依次執行,允許您執行操作並向下傳遞請求(downstream),之後過濾並逆序返回響應(upstream)。
實現代碼
// 引入依賴 const koa = require("koa") // 初始化koa const app = new koa() // 開啟 http var server = require("http").createServer(app.callback()) // 初始化 socket const io = require("socket.io")(server, { cors: true }) // 監聽 io.on('connection', (socket) => { // 主動向客戶端發消息 setTimeout(() => { // 通過io對象方法emit 觸發一個自定義事件 並且向客戶端發送消息 io.emit('chat message', '想說點什麼?') }, 1000) socket.on('disconnect', () => { console.log('user disconnected') }) // 在服務器收到客戶端的消息 // 通過on方法監聽事件 當客戶端發送消息時會觸發該事件 並且可以接受客戶端發來的消息 socket.on('chat message', (msg) => { console.log(msg) // msg為客戶端發來的消息 // 發消息給客戶端是emit setTimeout(() => { msg = msg.replace("你", "我").replace("嗎", "").replace("?", "!") // 觸發事件 將處理之後的消息信息發送給客戶端 io.emit('chat message', msg) }, 500) }) }) server.listen(5522,()=>{ console.log('socket服務已開啟,端口號為5522') });
調用這個服務
import { io } from 'socket.io-client' cteated(){ // 1.創建連接 可以自定義 this.socket = io('ws://localhost:5522') // 2. 建立連接 this.socket.on('connect', () => { console.log('建立連接成功瞭') }) // 3.監聽消息返回 this.socket.on('chat message', msg => { console.log('服務回來的消息', msg) }) }
這樣就能進行一個簡單的人工智能對話瞭
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- nodejs結合Socket.IO實現websocket即時通訊
- 在Angular項目使用socket.io實現通信的方法
- Node.js用Socket.IO做聊天軟件的實現示例
- 詳解如何使用Node.js實現熱重載頁面
- Nodejs搭建多進程Web服務器實現過程