最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于websocket實現(xiàn)簡單聊天室對話

 更新時間:2021年07月01日 17:21:11   作者:晚星@  
這篇文章主要為大家詳細介紹了基于websocket實現(xiàn)簡單聊天室對話,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了websocket實現(xiàn)簡單聊天室對話的具體代碼,供大家參考,具體內(nèi)容如下

首先搭建一個node的環(huán)境,在app.js中寫入以下代碼

npm install socket.io-client

socket是一個高性能的服務(wù)器框架,開發(fā)者只要實現(xiàn)一兩個接口,便可以開發(fā)出自己的網(wǎng)絡(luò)應(yīng)用,例如Rpc服務(wù)、聊天室服務(wù)器、手機游戲服務(wù)器等。

npm install http-server

一般提供server服務(wù),參數(shù)可以指定端口、地址等等,例如指定服務(wù)在8888端口啟動,命令為:http-server src -p 8888

npm install koa

Koa 通過 node.js 實現(xiàn)了一個十分具有表現(xiàn)力的 HTTP 中間件框架,力求讓 Web 應(yīng)用開發(fā)和 API 使用更加地愉快。Koa的中間件之間按照編碼順序在棧內(nèi)依次執(zhí)行,允許您執(zhí)行操作并向下傳遞請求(downstream),之后過濾并逆序返回響應(yīng)(upstream)。

實現(xiàn)代碼

// 引入依賴
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 })
// 監(jiān)聽
io.on('connection', (socket) => {
  // 主動向客戶端發(fā)消息

  setTimeout(() => {
    // 通過io對象方法emit 觸發(fā)一個自定義事件  并且向客戶端發(fā)送消息
    io.emit('chat message', '想說點什么?')
  }, 1000)

  socket.on('disconnect', () => {
    console.log('user disconnected')
  })

  // 在服務(wù)器收到客戶端的消息
  // 通過on方法監(jiān)聽事件  當客戶端發(fā)送消息時會觸發(fā)該事件 并且可以接受客戶端發(fā)來的消息
  socket.on('chat message', (msg) => {
    console.log(msg)
    // msg為客戶端發(fā)來的消息
    // 發(fā)消息給客戶端是emit
    setTimeout(() => {
      msg = msg.replace("你", "我").replace("嗎", "").replace("?", "!")
      // 觸發(fā)事件 將處理之后的消息信息發(fā)送給客戶端
      io.emit('chat message', msg)
    }, 500)
  })
})
server.listen(5522,()=>{
  console.log('socket服務(wù)已開啟,端口號為5522')
});

調(diào)用這個服務(wù)

import { io } from 'socket.io-client'
cteated(){
    // 1.創(chuàng)建連接 可以自定義
    this.socket = io('ws://localhost:5522')
     // 2. 建立連接
    this.socket.on('connect', () => {
        console.log('建立連接成功了')
    })
    // 3.監(jiān)聽消息返回
    this.socket.on('chat message', msg => {
        console.log('服務(wù)回來的消息', msg)
    })
}

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Nodejs在局域網(wǎng)配置https訪問的實現(xiàn)方法

    Nodejs在局域網(wǎng)配置https訪問的實現(xiàn)方法

    做一個局域網(wǎng)WebRTC視頻聊天系統(tǒng),需要用到HTTPS。因此,配置Node.js使其支持HTTPS訪問。這篇文章主要介紹了Nodejs在局域網(wǎng)配置https訪問的實現(xiàn)方法,需要的朋友可以參考下
    2020-10-10
  • 一文詳解node.js有哪些全局對象呢

    一文詳解node.js有哪些全局對象呢

    這篇文章主要介紹了一文詳解node.js有哪些全局對象呢,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-09-09
  • Node.js DES加密的簡單實現(xiàn)

    Node.js DES加密的簡單實現(xiàn)

    下面小編就為大家?guī)硪黄狽ode.js DES加密的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • node.js錯誤處理之npm無法下載第三方包

    node.js錯誤處理之npm無法下載第三方包

    這篇文章主要給大家介紹了關(guān)于node.js錯誤處理之npm無法下載第三方包的相關(guān)資料,文中通過代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的幫助,需要的朋友可以參考下
    2023-07-07
  • node故障定位頂級技巧動態(tài)追蹤Dynamic?Trace詳解

    node故障定位頂級技巧動態(tài)追蹤Dynamic?Trace詳解

    這篇文章主要為大家介紹了node故障定位頂級技巧動態(tài)追蹤Dynamic?Trace詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • NodeJS學(xué)習(xí)筆記之Connect中間件應(yīng)用實例

    NodeJS學(xué)習(xí)筆記之Connect中間件應(yīng)用實例

    前面我們介紹了幾篇內(nèi)容的connect中間件的基礎(chǔ)知識,今天我們來實例應(yīng)用一下,做個記事本的小應(yīng)用,希望大家能夠喜歡。
    2015-01-01
  • 最流行的Node.js精簡型和全棧型開發(fā)框架介紹

    最流行的Node.js精簡型和全棧型開發(fā)框架介紹

    這篇文章主要介紹了最流行的Node.js精簡型和全棧型開發(fā)框架介紹,本文講解了Express.js、KOA、Total.js、Sails.js、Meteor、Mean.IO等框架,需要的朋友可以參考下
    2015-02-02
  • node+koa2+mysql+bootstrap搭建一個前端論壇

    node+koa2+mysql+bootstrap搭建一個前端論壇

    本篇文章通過實例給大家分享了用node+koa2+mysql+bootstrap搭建一個前端論壇的步驟,有需要的朋友參考下。
    2018-05-05
  • nvm管理node無法正常切換node版本問題的解決方法

    nvm管理node無法正常切換node版本問題的解決方法

    相信一定會有存在一些小伙伴 明明都已經(jīng)按著操作卸載node 和安裝nvm 了但是 依舊無法正常通過nvm管理node,本文將給大家介紹nvm管理node無法正常切換node版本問題的解決方法,需要的朋友可以參考下
    2024-01-01
  • node.js中Buffer緩沖器的原理與使用方法分析

    node.js中Buffer緩沖器的原理與使用方法分析

    這篇文章主要介紹了node.js中Buffer緩沖器的原理與使用方法,結(jié)合實例形式分析了node.js Buffer緩沖器的基本概念、原理、創(chuàng)建、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-11-11

最新評論

邯郸市| 乐陵市| 蒙城县| 彭阳县| 合川市| 五家渠市| 苍梧县| 丁青县| 青河县| 且末县| 平泉县| 古田县| 潍坊市| 温宿县| 大厂| 赞皇县| 花莲市| 南投市| 个旧市| 塔城市| 从江县| 吴川市| 阜阳市| 桦南县| 句容市| 丹阳市| 渭源县| 新安县| 新乐市| 伊宁县| 南雄市| 宜城市| 南皮县| 营山县| 京山县| 丰台区| 乐业县| 东辽县| 南郑县| 乳山市| 泸定县|