0

您好,我相信我的闪存客户端正在丢失服务器发送的一些数据包,因为一些数据包被连接在一起,因此我相信它会丢弃它们。

这是我在 flash 中的 packetHandler

  private var xmlsock:XMLSocket;
  this.xmlsock = new XMLSocket();
  xmlsock.connect("127.0.0.1", 1234);
  this.xmlsock.addEventListener(DataEvent.DATA, this.packetHandler);


  public function packetHandler(event:DataEvent):void {
   var packet:String = event.data;
   var args:Array = packet.split(":");
   if(args.length <= 0) return;

   switch(args[0]) {
    case 'w': //waiting
     ExternalInterface.call("waiting");
     break;
    case 'u': //user count
     if(args.length >= 2)
      ExternalInterface.call("userCount", args[1]);
     break;
                                //... etc handlers ...
   }
 }

我嗅探到的可能是服务器发送的数据包。

你:105.w。又名 (75 3A 31 30 35 00 77 00)

所以等待的数据包永远不会进来。

我将如何修复这个错误..我正在使用 XMLSocket

4

2 回答 2

1

如果有人需要帮助,K 解决了,结果证明你可以这样做

var 数据包:数组 = data.split("\x00");

于 2010-08-29T20:18:21.780 回答
0

改用 a flash.net.Socket

于 2010-08-27T14:20:15.667 回答