在AS3中接收时,NodeJS数据的解析方式不同

时间:2014-07-29 21:24:07

标签: node.js actionscript-3 testing xmlsocket

晚安,

我目前正在测试AS3 + NodeJS通信,以深入研究多人游戏。我目前在Flash方面经验非常丰富,但对NodeJS来说却很陌生。

我遇到的问题是Node发送的数据与Flash接收的数据不同。

采取以下工作NodeJS代码(我不会问它是对还是错,或者#34;最佳实践" - 即时测试不同的东西)。特别关注客户'对象和"数据"事件处理程序:

var net = require('net');  
var mySocket;
var clients = {
  '0': 'myTest'
}; 
var server = net.createServer(function(socket) {  
    mySocket = socket;

    mySocket.on("data", function(data){
      myData = data + " -- " + clients[0];
       console.log("Data=" + myData);
       mySocket.write(myData);
    });

});  
server.listen(3000, "127.0.0.1"); 

当"你好世界"将数据发送到服务器,预期输出为:

控制台: "数据=你好世界 - myTest"

闪光灯: "收到的数据:[hello world - myTest]"

控制台输出我期望的信息,但Flash输出: -

"收到的数据:[ - myTesthello world]"

我的AS3连接类的几个片段如下: -

public function createConnection():void{
        this.currStatus = "Connecting..";
        this.mySocket = new XMLSocket("localhost",3000);
        this.mySocket.addEventListener(DataEvent.DATA, onReceiveData);

为了处理收到的数据,我们现在只追踪它:

private function onReceiveData(evt:DataEvent):void{
        //We have recieved some data from the server. Act upon it..
        //not sure yet what it will do with the data.. just trace for now.
        trace("Data Received: [" + evt.data + "]");
    }

如果有人能够指出为什么数据在Flash中接收时的顺序不同,那么这将是一个很好的学习点。正如我所说,我对NodeJS非常新,所以可能会有一些我缺少的东西(我知道没有.on" connect" ....把它拿出来测试它)。

提前致谢。

0 个答案:

没有答案