如何知道所有数据何时到达节点套接字

时间:2013-02-23 17:18:55

标签: flash node.js sockets actionscript

我在我的后端使用node.js和net模块,在我的前端使用flash。我想传递json格式的对象。我怎么知道所有数据何时到达我的后端,然后我可以做一个JSON.parse?

我的动作:

var obj = new Object();
obj.msg = "I want pizza";
xmlSocket.send(JSON.encode(obj));

我的javascript:

    socket.on("data", function(data){
        var msg = JSON.parse(data.toString());

        var i = 0;
        while(i < clientData.length){

            var client = clientData[i];
            if(client.writable){
                client.write(msg.msg, 'utf8');
            }
            i++;    
        }

});

目前我收到一个错误,我不确定与此有关,因为它显示整个对象:

undefined:1
{"msg":"I want pizza"}
                      ^
SyntaxError: Unexpected token

1 个答案:

答案 0 :(得分:0)

要知道数据何时结束,您必须在前面添加一些内容,指定最后显示数据已结束的长度或内容。因此,要么将长度放在JSON前面,要么在每个JSON对象后面添加换行符。

另外:JSON.encode是什么?我只知道JSON.stringify