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

523 ℃

如何利用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://m.ipkd.cn/webs_4505.html

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

js找出数组中重复的元素和重复次数
PHP语法检测HTTP_USER_AGENT请求头信息,判断当前设备类型
jquery语法如何实现div隐藏显示
为什么很多网站的keyword标签都是空的
KPC前端UI组件库中文文档官网介绍