ng-websocket和ws:客户端发送成功但没有收到
问题描述:
我的angularjs客户端websocketserver可以正确发送到服务器,但是当从服务器发送到客户端时,客户端不会注册该事件。ng-websocket和ws:客户端发送成功但没有收到
我使用在客户端角的WebSockets和WS我express.js服务器
这里是我的代码。
服务器
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');
});
};
有人能看到什么错?
答
我使用ng-websocket与PHP套接字,并且我有同样的问题。 我刚刚打开了ng-websocket.js和..guess什么? “乒乓”和“乒乓”事件不存在! 的“进入”事件被称为“$消息” ...... 这是如何从服务器获取数据:
ws.$on('$message', function (response) {
console.log("DATA FROM SERVER", response);
我刚刚得知,“傍”事件是一个自定义事件从服务器发送:在line 135我们有 'var decoded = JSON.parse(message.data); me。$$ fireEvent(decoded.event,decoded.data);' 因此,您可以在您的服务器响应中设置事件属性,然后从您的控制器中获取该属性。'ws。$ on('customEvent',function(response ){ console.log(“DATA FROM SERVER”,response);'因为它触发两个事件,所以我决定使用“$ message”事件并从ng-socket.js中删除自定义的事件 –