我是 Nodejs 和 Socketio 的新手。我想做如下的事情。
-> 创建一个 socket.io/node.js 服务器来监听由 Web 浏览器指定的频道。-> 服务器端脚本将消息推送到特定频道。
(我已经创建了一个服务器,这里是代码。这只是向所有连接的客户端发送两个消息。动作和消息)
//start code
var app = require('http').createServer(handler)
, io = require('socket.io').listen(app)
, url = require('url')
app.listen(8080);
function handler (req, res) {
// parse URL
var requestURL = url.parse(req.url, true);
// if there is a message, send it
if(requestURL.query.message)
sendMessage(decodeURI(requestURL.query.action), decodeURI(requestURL.query.message));
// end the response
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end("");
}
function sendMessage(action, message) {
io.sockets.emit('notification', {'action': action, 'message' : message});
}
所以基本上 Socket.io 服务器内部没有定义任何通道。但是它们是由客户端(浏览器中的 js)定义的,并且消息由服务器端脚本(如使用 cURL 的 php)发送到特定通道
抱歉,如果以前有人问过这个问题,我确实搜索过,但找不到任何有用的东西。