小工具知识网

当前位置: 首页 > 行业知识 > websocket实现一个局域网在线摸鱼聊天室

行业知识

websocket实现一个局域网在线摸鱼聊天室

2026-11-01 07:50:31 来源:互联网转载

1.思路

���建两个项目:

()

第一个前端项目,搭建聊天室页面,同时使用Websocket API,与服务端进行通信

第二个项目,使用node环境,下载ws包,搭建服务

()

年前就发现下包有问题,年后老淘宝镜像已经崩了,完全用不了,现在改https://registry.npmmirror.com

2.前端代码

                            发送    export default {  name: 'weChat',  data () {    return {    }  },  mounted () {    this.initWeChat()  },  computed: {  },  methods: {    initWeChat () {      const messageBox= document.querySelector('.messageBox')      const textarea = document.querySelector('.message')      const sendButton = document.querySelector('.send')      // 生成WebSocket对象      const ws = new WebSocket('ws://'改成你的ip':9001/ws')      // 为WebSocket添加事件监听      ws.addEventListener('message', function (event) {        const p = document.createElement('p')        const time = this.getTime()        p.innerText = event.data+''+time        messageBox.append(p)      })            ws.addEventListener('open', () => {        alert('websocket连接建立完毕')      })      sendButton.addEventListener('click', () => {        // 发送消息        ws.send(textarea.value)      })    },   getTime () {      const now = new Date()      const year = now.getFullYear()      const month = String(now.getMonth() + 1).padStart(2, '0')      const day = String(now.getDate()).padStart(2, '0')      const hour = String(now.getHours()).padStart(2, '0')      const min = String(now.getMinutes()).padStart(2, '0')      const second = String(now.getSeconds()).padStart(2, '0')      return `${year}-${month}-${day} ${hour}-${min}-${second}`    }  }}//样式自己写去吧

3.node服务

// 导入WebSocket模块:const WebSocket = require('ws')// 引用Server类:const WebSocketServer = WebSocket.Server// 实例化:const wss = new WebSocketServer({  port: 9001,  path: '/ws'})const wsList = []// 监听创建连接事件,回调函数的参数是创建的连接wss.on('connection', function connection (ws) {  ws.on('error', console.error)  // 监听该连接的接收信息事件  ws.on('message', function message (data) {    console.log('接收到信息: %s', data)    for (const w of wsList) {      if (w.readyState == w.OPEN) {        w.send(data.toString())      }    }  })  wsList.push(ws)})//node wechat.js 启动服务

4.参考文档

1.mdn websocket文档

2.百度文档

上一篇:单词bybus怎么读?

下一篇:怎么才能做服务器销售呢?