[common] binary message in ws connection

This commit is contained in:
2019-05-23 11:43:35 +03:00
parent 4b426183e8
commit 864d5f3335
9 changed files with 60 additions and 53 deletions

View File

@@ -8,7 +8,6 @@ import flash.events.SecurityErrorEvent;
import flash.net.Socket;
import flash.utils.Endian;
import haxe.io.Bytes;
import haxe.io.BytesOutput;
import promhx.Deferred;
import promhx.Promise;
import protohx.Message;
@@ -76,21 +75,19 @@ class FlashConnection<O:Message, I:Message> extends BaseConnection<O, I> {
private function onSocketData(_):Void {
try {
var b = new flash.utils.ByteArray();
socket.readBytes(b);
var bs = Bytes.ofData(cast b);
pushData(bs);
var data = new flash.utils.ByteArray();
socket.readBytes(data);
var bytes = Bytes.ofData(data);
pushData(bytes);
} catch (error:Dynamic) {
handler.emit(ConnectionEvent.ERROR(error));
}
}
private function _send(packet:O):Void {
var out = new BytesOutput();
packet.writeTo(out);
var bytes = out.getBytes();
var bytes = PacketUtil.toBytes(packet);
socket.writeShort(bytes.length);
socket.writeBytes(cast bytes.getData());
socket.writeBytes(bytes.getData());
socket.flush();
}
}