diff --git a/kmqtt-client/src/commonMain/kotlin/MQTTClient.kt b/kmqtt-client/src/commonMain/kotlin/MQTTClient.kt index 934ada0966b077685e42472c48e3e2ff590a8317..40cdeeb7ba1112243077b39f42167d03d7e357a3 100644 --- a/kmqtt-client/src/commonMain/kotlin/MQTTClient.kt +++ b/kmqtt-client/src/commonMain/kotlin/MQTTClient.kt @@ -329,7 +329,13 @@ public class MQTTClient( } } - val data = socket?.read() + val data = try { + socket?.read() + } catch (e: Exception) { + close() + onDisconnected(null) + throw e + } if (data != null) { try { @@ -341,7 +347,6 @@ public class MQTTClient( } } catch (e: MQTTException) { lastException = e - e.printStackTrace() disconnect(e.reasonCode) close() onDisconnected(null)