[network] update

This commit is contained in:
2019-05-31 15:47:16 +03:00
parent 7115ea8ac2
commit fb9a28c126
29 changed files with 274 additions and 221 deletions

View File

@@ -38,8 +38,10 @@ class DesktopConnection<O:Message, I:Message> extends BaseConnection<O, I> {
connected = true;
reader = Thread.create(_read);
connectDeferred.resolve(this);
handler.emit(ConnectionEvent.CONNECTED);
}
} catch (error:Dynamic) {
handler.emit(ConnectionEvent.ERROR(error));
Timer.delay(function() connectDeferred.throwError(error), 1);
}
return connectDeferred.promise();

View File

@@ -49,7 +49,7 @@ class JsConnection<O:Message, I:Message> extends BaseConnection<O, I> {
}
private function onError(event:Dynamic):Void {
socket.close();
socket.close(1000);
connected = false;
handler.emit(ConnectionEvent.ERROR(event));
}
@@ -67,18 +67,25 @@ class JsConnection<O:Message, I:Message> extends BaseConnection<O, I> {
}
private function onSocketData(event:Dynamic):Void {
var packet:I = null;
try {
var bytes = Bytes.ofData(event.data);
var packet:I = PacketUtil.fromBytes(bytes, queue.packetClass);
receive(packet);
packet = PacketUtil.fromBytes(bytes, queue.packetClass);
} catch (error:Dynamic) {
handler.emit(ConnectionEvent.ERROR(event));
handler.emit(ConnectionEvent.ERROR(error));
}
if (packet != null) {
receive(packet);
}
}
override public function send(packet:O):Void {
super.send(packet);
var bytes = PacketUtil.toBytes(packet);
socket.send(bytes.getData());
if (connected) {
super.send(packet);
var bytes = PacketUtil.toBytes(packet);
socket.send(bytes.getData());
} else {
L.w("Connection", "closed");
}
}
}