Socket.io房间 - 发送和接收数据

时间:2016-06-17 12:46:19

标签: javascript node.js sockets websocket socket.io

我不确定如何使用socket.io房间发送和接收数据。

这是我的客户端代码:

var socket = io('https://the.url');

socket.on('connect', function() {

    console.log('Connected to the socket.');

});

socket.on("client5", function (data) {

    console.log(data);

});

这是我的服务器端代码

var app        = require('express')();
var server     = require('http').Server(app);
var https      = require('https');
var fs         = require('fs');
var bodyParser = require('body-parser');

var privateKey  = fs.readFileSync('path/to/key', 'utf8');
var certificate = fs.readFileSync('path/to/key', 'utf8');
var credentials = {key: privateKey, cert: certificate};
var httpsServer = https.createServer(credentials, app);
var io          = require('socket.io')(httpsServer);

// HTTP server listening on port
io.set('origins', '*:*');
io.sockets.on('connection', function (socket) {

});

httpsServer.listen(10000);
// Middle ware
app.use(bodyParser.urlencoded({ extended: true }));

// Route
app.post('/anything', function (req, res) {
    io.emit('client5', req.body);
    res.end();
});

这很好用。但这不是使用房间。此代码只会将数据发送到" client5" socket和客户端我能够使用socket.on(" client5")接收数据。

我想要做的是让一群人加入不同的房间。

因此,用户A,B和C将进入并加入房间" First Room"并且用户D,E和F将被添加到" Second Room"。

如何在房间之间发送和接收数据?

0 个答案:

没有答案