我不确定如何使用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"。
如何在房间之间发送和接收数据?