Socket.io发出不起作用

时间:2015-12-15 01:31:14

标签: node.js socket.io

基本上,

我首先启动socket.io,如下所示:

var io = require('socket.io')(1337);

然后,在使用http获取POST请求并检查一些信息后,我试试这个:

var updateArray = {timer:"start"};
jsonUpdate = JSON.stringify(updateArray);
io.emit('update', jsonUpdate);

但它没有发送套接字,我真的无法理解socket.io文档,所以如果有人可以帮助我,我会很高兴。

服务器代码:

var http = require('http');
var fs = require('fs');
var io = require('socket.io')(1337);

var initialBomb = 0;

function now() {
    return Math.floor(new Date() / 1000);
}

http.createServer(function (req, res) {
    var body = "";
    req.on('data', function (chunk) {
        if (req.method == 'POST') {
            body += chunk;
        }
    });
    req.on('end', function () {
        parsedBody = JSON.parse(body);
        if (parsedBody.round["bomb"] == "planted") {
            var rightNow = now();
            var initialCheck = initialBomb + 41;
            if (rightNow > initialCheck) {
                initialBomb = now();
                var updateArray = {timer:"start"};
                jsonUpdate = JSON.stringify(updateArray);
                io.emit('update', jsonUpdate);
                console.log(jsonUpdate);
            }
        }
    });
}).listen(3000);

客户代码:

<script>
            var socket = io('87.98.219.48:1337');
            socket.on('update', function(payload) {
                var data = JSON.parse(payload);
                console.log(payload);
                if (data['timer'] == 'start') {
                    initTick = timerNow();
                    setTimeout(tick, delay);
                }
            });
        </script>

0 个答案:

没有答案