Websocket send()不起作用

时间:2014-02-11 06:30:59

标签: node.js express websocket

我正在使用expressjs

制作简单的websocket演示(ws

服务器端代码

var WebSocketServer = require('ws').Server
        , http = require('http')
        , express = require('express')
        , app = express();

app.configure('development', function() {
    app.use(express.json());
    app.use(express.urlencoded());
    app.use(app.router);
});


app.set('view engine', 'ejs');
app.set('view options', {layout: false});

var server = http.createServer(app);
server.listen(2678);

app.get('/', function(req, res) {
    res.redirect('views/index.html');
});

var wss = new WebSocketServer({server: server});
wss.on('connection', function(ws) {
    console.log("Connection Open");
    ws.on('message', function(e) {
        console.log(e); // Can't get message here
    });

    ws.on('close', function() {
        console.log('stopping client interval');
    });
});

我的客户端(浏览器)

ws = new WebSocket('ws://localhost:2678?uid=123&token=abc123');
    ws.onopen = function() {
        console.log('Connection Open');
        console.log('readyState:' + ws.readyState); // readyState:1
        ws.send("Test msg");
        console.log("sent!");
    };

问题:

当我执行上面的代码时,我可以在两侧收到消息“连接打开”消息。但是ws.send(“测试消息”)不能在客户端工作。我无法发送客户端和服务器端的数据。我在Stack Overflow上发现了很多问题。但我无法找到适当的解决方案。 当我在2-3分钟后关闭浏览器时,我在服务器端收到了以下消息。

Test msg
stopping client interval

我已经审阅了以下链接。但他们不适合我。

Link1

Link2

0 个答案:

没有答案