diff --git a/kmqtt-client/src/commonMain/kotlin/WebSocket.kt b/kmqtt-client/src/commonMain/kotlin/WebSocket.kt index 15937f7aa545dedff42463cf5b274ea18db1205e..9d599bd637988feccdfbc48dc2cdabd1b772c3ac 100644 --- a/kmqtt-client/src/commonMain/kotlin/WebSocket.kt +++ b/kmqtt-client/src/commonMain/kotlin/WebSocket.kt @@ -130,6 +130,11 @@ public class WebSocket(private val socket: SocketInterface, host: String, path: return null } + private fun decodePing(length: ULong): UByteArray? { + send(decodeBinary(length), 0xA) + return null + } + private fun decodePong(length: ULong): UByteArray? { decodeBinary(length) return null @@ -156,6 +161,7 @@ public class WebSocket(private val socket: SocketInterface, host: String, path: val decoded = when (opcode.toInt()) { 0x2 -> decodeBinary(length) 0x8 -> decodeClose(length) + 0x9 -> decodePing(length) 0xA -> decodePong(length) else -> { close()