web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

如何利用nodejs语法实现即时通讯

290 ℃
     

如何利用nodejs语法做一个即时通讯功能?下面web建站小编给大家简单介绍一下具体实现代码!

创建服务器

const app = require('express')();
const server = require('http').createServer(app);
const io = require('socket.io')(server);
const port = process.env.PORT || 3000;
 
server.listen(port, () => {
  console.log(`Server listening at http://localhost:${port}`);
});

监听连接和断开事件,发送消息

io.on('connection', (socket) => {
  console.log('a user connected');
  socket.on('disconnect', () => {
    console.log('user disconnected');
  });
  socket.on('chat message', (msg) => {
    console.log('message: ' + msg);
    io.emit('chat message', msg);
  });
});

客户端页面代码

<html>
  <head>
    <title>Chat Room</title>
  </head>
  <body>
    <ul id="messages"></ul>
    <form action="">
      <input id="m" autocomplete="off" /><button>Send</button>
    </form>
    <script src="/socket.io/socket.io.js"></script>
    <script>
      const socket = io();
      const form = document.querySelector('form');
      const input = document.querySelector('#m');
      const messages = document.querySelector('#messages');
 
      form.addEventListener('submit', (e) => {
        e.preventDefault(); // 防止页面跳转
        socket.emit('chat message', input.value); // 将消息发送给服务器
        input.value = ''; // 清空消息框
        return false;
      });
 
      socket.on('chat message', (msg) => {
        const li = document.createElement('li'); // 创建新条目
        li.textContent = msg; // 设置新条目的文本内容
        messages.appendChild(li); // 将新条目添加到列表中
      });
    </script>
  </body>
</html>

nodejs语法如何获取并解析请求地址

nodejs语法如何自动转换成js

nodejs如何实现删除数组元素

nodejs如何检查内存情况

nodejs如何利用Long-Polling实现实时发送数据

标签: nodejs语法, 即时通讯

上面是“如何利用nodejs语法实现即时通讯”的全面内容,想了解更多关于 nodejs 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_4505.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > nodejs
本文共计1187个字,预计阅读时长8分钟
生活小工具,收录了80多款小工具
上一篇: 推荐一款免费可商用仿宋字体——汉字之美仿宋GBK
下一篇: 推荐一款免费可商用英文字体——Atkinson Hyperlegible
x 打工人ai神器