Flash、XmlSocketでパケットを分割する方法
-
01-10-2019 - |
質問
こんにちは、フラッシュクライアントはサーバーが送信するパケットを失っていると思います。一部のパケットが結合されるため、ドロップすると思います。
これがフラッシュの私の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 ...
}
}
サーバーから送信された可能性のあるパケットは、それでした。
U:105.w。別名(75 3a 31 30 35 00 77 00)
そのため、待機中のパケットが入ってきませんでした。
このバグを修正するにはどうすればよいですか。xmlsocketを使用しています
解決
誰かが助けを必要とするならkこれはあなたがこれを行うことができることが判明しました
varパケット:array = data.split( " x00");
他のヒント
使う flash.net.Socket
代わりは。
所属していません StackOverflow