繁体   English   中英

如何在socket.io-client上使用集群?

[英]How to use cluster on socket.io-client?

我想在两侧使用集群(服务器和客户端)。 我在服务器端取得了成功,但在客户端无法做到。 我在两者(服务器端和客户端)上使用node.js。

我在服务器端使用下面的代码

var express = require('express'),
        cluster = require('cluster'),
        sio = require('socket.io');
var port = 3000,
        num_processes = require('os').cpus().length;
if (cluster.isMaster) {
    for (var i = 0; i < num_processes; i++) {
        cluster.fork();
    }
} else {
    var app = new express();
    var server = app.listen(port),
            io = sio(server);
    io.on('connection', function (client) {
        client.on('evnt', function (data) {
            console.log('evnt' + process.pid, data);
        });
    });
}

在客户端这一个

var url = 'http://localhost:3000/';
var socket = require('socket.io-client')(url);
socket.on('connect', function () {
    console.log('Connected with ', url);
    setInterval(function () {
        socket.emit('evnt', {sham: 'sakdf'});
    }, 500)
});
socket.on('disconnect', function () {
    console.log('Disconnected');
});

客户端不需要集群模块,只需要创建多个进程或子进程即可。 我们在服务器端使用集群,因为我们必须在同一个IP和端口上绑定多个进程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM