Skip to content

WebSocket

val client = OkHttpClient()
val request = Request.Builder()
.url("wss://your.server.com/ws")
.build()
val listener = object : WebSocketListener() {
override fun onOpen(webSocket: WebSocket, response: Response) {
// connected
webSocket.send("hello")
}
override fun onMessage(webSocket: WebSocket, text: String) {
// received text message
}
override fun onMessage(webSocket: WebSocket, bytes: ByteString) {
// received binary message
}
override fun onClosing(webSocket: WebSocket, code: Int, reason: String) {
webSocket.close(1000, null)
}
override fun onClosed(webSocket: WebSocket, code: Int, reason: String) {
// fully closed
}
override fun onFailure(webSocket: WebSocket, t: Throwable, response: Response?) {
// error — connection lost, server unreachable, etc.
}
}
val webSocket = client.newWebSocket(request, listener)