【发布时间】:2015-03-06 12:44:35
【问题描述】:
这里是场景...
我正在开发一个我有想法的应用程序,我正在使用 ember 构建它并带有一个 express 后端。我正在使用express-ws,所以我可以更好地在 express 中运行ws websocket 包。我无法让 ws 与 express 一起工作。
我的应用程序将有两个人连接到两个不同的 url,它们是套接字连接,这样他们就可以向服务器发送和接收信息,而另一个人不会得到它。至少我是这么想的。
我想要的是当一个用户通过套接字进行交互时,该套接字将消息发送到另一个套接字以执行操作并将其信息发送给连接到它的用户。
我希望这是有道理的。使用 express-ws 是我迄今为止所做的,它在基本级别上工作。
var express = require('express');
var app = express();
var expressWs = require('express-ws')(app);
app.use(function (req, res, next) {
console.log('middleware');
req.testing = 'testing';
return next();
});
app.get('/', function(req, res, next){
console.log('browser connected');
res.send('welcome to the api browser');
});
app.ws('/', function(ws, req) {
console.log('socket connected');
var object = {
message: 'welcome to the socket api',
time: Date.now().toString()
}
ws.send(JSON.stringify(object));
});
app.listen(1337);
我还没有建立另一个连接,但暂时它会是一样的,但是当一个连接上的用户向他们的套接字发送某个消息时,我希望那个套接字执行一些操作然后传递一些数据到另一个套接字,以便它可以向它的用户发送一些信息。
【问题讨论】:
-
您要做的是存储对每个开放频道的引用,然后收听他们的
onmessage事件
标签: node.js sockets ember.js express