我使用 Primus 创建一个 websocket 服务器。我使用 wscat 命令来测试该服务器。它能够连接到 websocket 服务器。但是服务器无法接收来自客户端的任何消息。以下是 Primus 代码:
http = require('http');
server = http.createServer();
Primus = require('primus');
primus = new Primus(server, {
transformer: 'websockets',
pathname: 'ws'
});
primus.on('connection', function connection(spark) {
console.log("client has connected");
spark.write("Herro Client, I am Server");
spark.on('data', function(data) {
console.log('PRINTED FROM SERVER:', data);
spark.write('receive '+data)
});
});
server.listen(5431);
console.log("Server has started listening");
下面是我测试它的方式:
$ wscat -c http://localhost:5431/ws
connected (press CTRL+C to quit)
< "Herro Client, I am Server"
> hello
>
从上面的命令你可以看到客户端可以在请求连接时收到消息。但是后来我向服务器发送了一个“你好”,而客户端没有收到来自服务器的反馈消息。服务器也不打印“hello”消息。我的代码有什么问题吗?该spark.on('data', function(data)
方法似乎没有效果。