欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于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)聽事件  當(dāng)客戶端發(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)文章

  • 利用yarn代替npm管理前端項目模塊依賴的方法詳解

    利用yarn代替npm管理前端項目模塊依賴的方法詳解

    這篇文章主要給大家介紹了關(guān)于利用yarn代替npm管理前端項目模塊依賴的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • 切換Node.js鏡像源的方法詳解

    切換Node.js鏡像源的方法詳解

    Node.js 是一個非常流行的 JavaScript 運行環(huán)境,擁有許多強大的功能和庫,使得它在 Web 開發(fā)、服務(wù)器端編程等領(lǐng)域中廣泛使用,在本文中,我們將介紹如何切換 Node.js 的鏡像源,并提供一些思考和難點,幫助讀者更好地理解這個問題,需要的朋友可以參考下
    2024-01-01
  • export?default?和?export?的使用方式示例詳解

    export?default?和?export?的使用方式示例詳解

    這篇文章主要介紹了export?default?和?export?的使用方式,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • Node.js使用cookie保持登錄的方法

    Node.js使用cookie保持登錄的方法

    本篇文章主要介紹了Node.js使用cookie保持登錄的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Node.js 使用流實現(xiàn)讀寫同步邊讀邊寫功能

    Node.js 使用流實現(xiàn)讀寫同步邊讀邊寫功能

    本文通過代碼給大家介紹了Node.js 使用流實現(xiàn)讀寫同步邊讀邊寫功能,非常不錯,具有參考借鑒價值,需要的額朋友參考下吧
    2017-09-09
  • 詳解nodejs解壓版安裝和配置(帶有搭建前端項目腳手架)

    詳解nodejs解壓版安裝和配置(帶有搭建前端項目腳手架)

    這篇文章主要介紹了詳解nodejs解壓版安裝和配置(帶有搭建前端項目腳手架) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • nodejs操作mongodb的增刪改查功能實例

    nodejs操作mongodb的增刪改查功能實例

    這篇文章主要介紹了nodejs操作mongodb的增刪改查功能,簡單分析了mongodb模塊的安裝并結(jié)合實例形式分析了nodejs操作mongodb數(shù)據(jù)庫進行增刪改查的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-11-11
  • 使用express搭建一個簡單的查詢服務(wù)器的方法

    使用express搭建一個簡單的查詢服務(wù)器的方法

    本篇文章主要介紹了使用express搭建一個簡單的查詢服務(wù)器的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • nodejs加密Crypto的實例代碼

    nodejs加密Crypto的實例代碼

    下面小編就為大家?guī)硪黄猲odejs加密Crypto的實例代碼。小編覺得挺不錯的, 現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • Node.js?搭建后端服務(wù)器內(nèi)置模塊(?http+url+querystring?的使用)

    Node.js?搭建后端服務(wù)器內(nèi)置模塊(?http+url+querystring?的使用)

    這篇文章主要介紹了Node.js搭建后端服務(wù)器內(nèi)置模塊(http+url+querystring的使用),文章圍繞主題展開詳細的內(nèi)容戒殺,具有一定的參考價值,需要的朋友可以參考一下
    2022-09-09

最新評論