Javascript ng websocket和ws:client成功发送,但没有';收不到
我的angularjs客户端websocketserver可以正确地发送到服务器,但是当从服务器发送到客户端时,客户端不会注册事件 我在客户端使用angular WebSocket,在express.js服务器上使用ws 这是我的密码 服务器Javascript ng websocket和ws:client成功发送,但没有';收不到,javascript,angularjs,node.js,express,websocket,Javascript,Angularjs,Node.js,Express,Websocket,我的angularjs客户端websocketserver可以正确地发送到服务器,但是当从服务器发送到客户端时,客户端不会注册事件 我在客户端使用angular WebSocket,在express.js服务器上使用ws 这是我的密码 服务器 var port = process.env.PORT || 3002; var server = http.createServer(app); // app = express server.listen(port); var socketComs =
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,你猜怎么着?“乒乓球”和“乒乓球”活动根本不存在! “传入”事件称为“$message”。。。 以下是如何从服务器获取数据:
ws.$on('$message', function (response) {
console.log("DATA FROM SERVER", response);
我刚刚了解到,“pong”事件是您从服务器发送的自定义事件:在第135行,我们有var decoded=JSON.parse(message.data);me.$$fireEvent(decoded.event,decoded.data)
因此,您可以在服务器响应中设置事件属性,然后从控制器ws.$on('customEvent',function(response){console.log(“来自服务器的数据”,response);
中捕获该属性,因为它触发了两个事件,所以我决定使用“$message”事件并从ng-socket.js中删除自定义事件