Node SocketIO以编程方式强制在损坏的套接字上重新启动

Node-SocketIO-programmatically force reboot on broken socket

本文关键字:损坏 套接字 重新启动 SocketIO 编程 方式强 Node      更新时间:2023-09-26

我有一个基于nodejs的示例1到1客户端和服务器。nodejs运行在Linux(Intel Edison)上。我想让Linux服务器在套接字断开时自动重新启动。这可能吗?

这是我的简单节点插槽IO服务器

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function(req, res){
  res.sendFile(__dirname + '/index.html');
});
io.on('connection', function(socket){
  socket.on('chat message', function(msg){
      console.log(msg)
    io.emit('chat message', msg);
  });
  socket.on('disconnect', function(){
      //how to programmatically reboot?
          console.log('user disconnected');
      });
});
http.listen(3000, function(){
  console.log('listening on *:3000 yeah');
});

您是否尝试过重新启动(npm)

安装:

npm install reboot

用法:

调用sync(),然后重新启动:

require('reboot').reboot();

重新启动而不同步():

require('reboot').rebootImmediately();

同时设置权限:权限

如果您要在非超级用户下运行节点进程,请确保授予节点重新启动系统的权限:

sudo setcap CAP_SYS_BOOT=+ep /usr/local/bin/node