Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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 从flash接收数据并在angularJS客户端显示_Javascript_Node.js_Angularjs_Flash_Sockets - Fatal编程技术网

Javascript 从flash接收数据并在angularJS客户端显示

Javascript 从flash接收数据并在angularJS客户端显示,javascript,node.js,angularjs,flash,sockets,Javascript,Node.js,Angularjs,Flash,Sockets,我试图从我制作的一个极其简单的flash游戏中获取数据(用户的分数),并将其显示在一个简单的引导板上,该引导板通过AngularJS显示。您可以获得所有代码的副本(可能需要运行npm install才能使其正常工作)。我正在使用NodeJS/Express/Socket.io从游戏中传输数据 以下是app.js(服务器端)的代码: 上面的要点是: socket.on('data', function (data) { socket.broadcast.emit(data); }); 这

我试图从我制作的一个极其简单的flash游戏中获取数据(用户的分数),并将其显示在一个简单的引导板上,该引导板通过AngularJS显示。您可以获得所有代码的副本(可能需要运行
npm install
才能使其正常工作)。我正在使用NodeJS/Express/Socket.io从游戏中传输数据

以下是app.js(服务器端)的代码:

上面的要点是:

socket.on('data', function (data) {
    socket.broadcast.emit(data);
});
这就是我试图将数据从服务器端发送到客户端的地方。在客户端-在我的主控制器中,我有这个

leader-board.js(主客户端javascript文件):

如您所见,我正在尝试获取发出的数据,并将其推送到一个数组中,在那里我将保留分数。当用户从主index.html文件中单击提交按钮时,将调用
createCompetitor
函数

index.html

<body>

...

<button ng-click="createContestant()" class="btn btn-success" 
        ng-disabled="
            ldrbd.contestantName.$error.required || 
            ldrbd.contestantScore.$error.required
        "
>
    Submit Score
</button>

...

</body>
…和客户端:

socket.on('message', function (data) {
    console.log(data)
    score = data;
    socket.emit('score', score);
})
socket.on('score', function(data) {
    console.log(data);
    $scope.score = data;
});

仍然不走运-但我将
console.log
消息添加到服务器端,以确认数据是通过节点发送和接收的(至少是通过节点发送和接收的)-该消息的输出是一个数字,即分数。我意识到的是…当点击按钮时,分数应该在客户端输入。但是,当游戏结束时,数据会从服务器端发出……因此,当单击按钮时……此时客户端是否可以使用数据?这是差异吗

这是工作套接字代码(花了我一段时间,但我得到了它)

服务器端(节点/快车):

socket.on('message', function (data) {
    console.log(data);
    score = data;
    console.log("Transfered:" + " " + score);
    //
})

socket.on('score', function() {
    socket.emit('sendscore', score);
})
客户端(AngularJS)

如果您想亲自尝试,问题中的链接仍然适用于代码

socket.on('score', function(data) {
    console.log(data);
    $scope.score = data;
});
socket.on('message', function (data) {
    console.log(data);
    score = data;
    console.log("Transfered:" + " " + score);
    //
})

socket.on('score', function() {
    socket.emit('sendscore', score);
})
socket.on('sendscore', function(data) {
    console.log(data);
    $scope.score = data;
});

// Outgoing
$scope.createContestant = function() {

    socket.emit('score')

    //$scope.$digest;

    //console.log($scope.score[0]);

    var contestant = {
    id: new Date().getTime(),
    display_name: "Bob",
    score: $scope.score
    };

    $scope.contestants.push(contestant);
    socket.emit('createContestant', contestant);

    _resetFormValidation();
};