express框架内使用socket.io监控多个端口号

103 篇文章 0 订阅
5 篇文章 0 订阅

服务端

app.js
// 引入模块
var express = require('express');
// 实例化express对象
var app = express();

// app.js页面挂载socket
require('./websocket/index');
require('./websocket/ske');

app.listen(5000, () => console.log('服务器正在5000端口号运行...'));
socket监控多个端口配置
./websocket/index
var app = require('express')();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
require('../timing/index')

// 接收客户端发送过来的数据
io.on('connection', function (socket) {

  // 接收客户端传过来的数据
  socket.on("typing", function (data) {
    console.log(data);

    // 触发广播事件 除了自己其他人都能收到
    socket.broadcast.emit('Broadcasting', data);
  });
});

// 向客户端发送信息(测试代码定时向客户端发送信息)
setInterval(function () {
  io.emit("test1", { name: '3001' });
}, 5000);

//开启端口监听socket
server.listen(3001);
./websocket/ske

var app = require('express')();
var server = require('http').createServer(app);
var io = require('socket.io')(server);

// 接收客户端发送过来的数据
io.on('connection', function (socket) {

});

// 向客户端发送信息(测试代码定时向客户端发送信息)
setInterval(function () {
  io.emit("test2", { name: '3002' });
}, 5000);

//开启端口监听socket
server.listen(3002);
客户端
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script src="https://cdn.socket.io/socket.io-2.3.0.js"></script>
  <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
  <script>
    var socket = io.connect('http://192.168.1.103:3001');
    var sockettwo = io.connect('http://192.168.1.103:3002');
    // 获取从服务器传来的数据
    socket.on('test1', (data) => {
      console.log(data)
    })

    // 获取从服务器传来的数据
    sockettwo.on('test2', (data) => {
      console.log(data)
    })

    // 获取从服务器广播的数据(和上面的代码没有什么区别,除了名字不一样)
    socket.on('Broadcasting', (data) => {
      console.log(data)
    })

    // 向服务端发送信息
    socket.emit('typing', { text: '客户端向服务端发送信息' });
  </script>
</body>

</html>

注意事项
1:注意socket服务端和客户端的版本需要一致,不然会出现意想不到的bug
2:“socket.io”: “^2.3.0”

nodejs打包成exe
npm install -g pkg
pkg server.js           
pkg -t win server.js 
  • npm install -g pkg :全局安装pkg

  • pkg server.js : 将 api.js 编译成 api.exe 可执行文件

  • pkg -t win server.js : 上面的命令会同时编译出 linux 、windows 、mac 版的 exe,加 -t win 就可以只编译 windows 下的

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值