目前,我们使用相当标准的设置,Node.js + Passport + AJAX作为网络服务器,客户端使用Backbone,以及为后端公开API的应用服务器。客户端向Node发出AJAX请求,进行一些清理,例如检查会话身份验证,然后将请求传递给应用服务器。
我们正在尝试用WebSockets替换客户端和Node之间的AJAX部分。那部分我工作得很好。以前我们使用护照来检查请求是否经过身份验证。使用标准的Node路由,始终包含请求和响应,因此这是一项简单的任务,但我不确定如何从套接字中获取它。
var server = http.createServer(app).listen(port);
var io = socketio.listen(server);
var namespaced = io.of('/socket/test');
namespaced.on('connection', function (socket) {
console.log('a user connected to /socket/test');
socket.on('fetch', function (args) {
// the client has sent a socket message which will functionally replace an AJAX request
// authenticate session here - how to get the request??
});
});