我想知道如何防止连接的客户端入侵代码并发送消息。
nodejs服务器代码:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http ,{serveClient: false});
var port = process.env.PORT || 3000;
var request = require("request")
var url = "http://localhost/api/index.php";
events = require('events'),
serverEmitter = new events.EventEmitter();
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
io.on('connection', function(socket){
request({
url: url,
json: true
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
io.emit('chat message', body);
}
});
});
http.listen(port, function(){
console.log('listening on *:' + port);
});
我正在使用webSocket让用户了解最新的货币价格。 我想阻止用户向其他客户端发送数据。
答案 0 :(得分:0)
客户端与客户端交互的步骤。 为简单起见,我使用自定义套接字事件名称作为“chat”
每条消息都通过您的服务器。因此您可以限制任何客户端与客户端的交互。
此外,每次新客户端连接时,socket.io(写在问题中)都会向所有连接的客户端发送货币价格。而是在客户通过GET
请求连接时发送价格。然后在价格更新时发送更新的价格。
使用符合上述模式的新代码替换套接字代码