Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng websocket和ws:client成功发送,但没有';收不到_Javascript_Angularjs_Node.js_Express_Websocket - Fatal编程技术网

Javascript ng websocket和ws:client成功发送,但没有';收不到

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 =

我的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 = 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中删除自定义事件