我的angularjs客户端websocketserver可以正确发送到服务器,但是当从服务器发送到客户端时,客户端没有注册事件。
我在客户端使用 Angular-Websockets,在 Express.js 服务器上使用 ws
这是我的代码。
服务器
var port = process.env.PORT || 3002;
var server = http.createServer(app); // app = express
server.listen(port);
var socketComs = require('./lib/socketcoms').connect(server);
var connect = function(server) {
var wss = new WebSocketServer({
server: server
});
wss.on('connection', function(ws) {
console.log("websocket connection open");
ws.on('message', function incoming(message) {
console.log('received', message); // THIS WORKS FINE
});
var id = setInterval(function() {
ws.send('pong', 'data 123', function(err) {
console.log('sent pong', err); // THIS IS NEVER CAUGHT BY CLIENT, err = clean
});
}, 2000); // Pong is never received
});
};
客户端
var connect = function() {
ws.$on('$open', function() {
console.log('wow its working');
ws.$emit('message', 'some message');
});
ws.$on('pong', function(data) {
console.log('yes', data);
});
ws.$on('$close', function(data) {
console.log('wss closed');
});
};
谁能看出出了什么问题吗?
最佳答案
我正在使用带有 PHP 套接字的 ng-websocket,并且我有同样的问题。 我刚刚打开 ng-websocket.js ......你猜怎么着? “ping”和“pong”事件不存在! “传入”事件称为“$message”... 这是从服务器获取数据的方法:
ws.$on('$message', function (response) {
console.log("DATA FROM SERVER", response);
关于javascript - ng-websocket 和 ws : client sends successfully but doesn't receive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29748877/