91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于websocket如何實現聊天室對話

發布時間:2021-07-01 14:59:34 來源:億速云 閱讀:133 作者:小新 欄目:開發技術

這篇文章主要介紹了基于websocket如何實現聊天室對話,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體內容如下

首先搭建一個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)
    })
}

這樣就能進行一個簡單的人工智能對話了

基于websocket如何實現聊天室對話

感謝你能夠認真閱讀完這篇文章,希望小編分享的“基于websocket如何實現聊天室對話”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灯塔市| 浦县| 武乡县| 资源县| 石家庄市| 湖口县| 祁门县| 天镇县| 赫章县| 阳东县| 石门县| 怀仁县| 梁平县| 大安市| 东山县| 江油市| 明水县| 乃东县| 永泰县| 旺苍县| 华阴市| 土默特左旗| 五指山市| 手游| 青田县| 鄂州市| 屏南县| 收藏| 邹平县| 濮阳市| 无锡市| 信阳市| 沭阳县| 平陆县| 科技| 甘泉县| 罗山县| 安塞县| 宜阳县| 娱乐| 依兰县|