I am using OkHttpClient to connect to the WebSocket.
I expect the WebSocket response one by one, but now if I send one message it returns once (with multiple responses) only.
Here is what I am currently did:
private val client = OkHttpClient()
private lateinit var webSocket: WebSocket
private var connected: Boolean = false
fun connect() {
if (connected) return
val accessToken = tokenStorage.accessToken ?: return
connected = true
val request = Request.Builder()
.url(BuildConfig.WS_URL)
.addHeader("Authorization", "Bearer $accessToken")
.build()
client.newWebSocket(request, this)
}
fun sendMessage(message: String): Boolean {
return webSocket.send(message)
}
override fun onOpen(webSocket: WebSocket, response: Response) {
[email protected] = webSocket
}
override fun onMessage(webSocket: WebSocket, text: String) {
// Action with message
}
override fun disconnect() {
connected = false
client.dispatcher.executorService.shutdown()
}
Is it common or do we have a solution for this? If you know other libraries able to do it, please let me know. Thank you for your attention!