当前位置:编程学习 > > 正文

websocket聊天室怎么设置(基于websocket实现简单聊天室对话)

时间:2021-10-15 00:05:06类别:编程学习

websocket聊天室怎么设置

基于websocket实现简单聊天室对话

本文实例为大家分享了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实现简单聊天室对话)

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。

    上一篇下一篇

    猜您喜欢

    热门推荐