val client = OkHttpClient()
val request = Request.Builder()
.url("wss://your.server.com/ws")
val listener = object : WebSocketListener() {
override fun onOpen(webSocket: WebSocket, response: Response) {
override fun onMessage(webSocket: WebSocket, text: String) {
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) {
override fun onFailure(webSocket: WebSocket, t: Throwable, response: Response?) {
// error — connection lost, server unreachable, etc.
val webSocket = client.newWebSocket(request, listener)