[network] update
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user