https://kotlinlang.org logo
o

Omar Miatello

06/17/2017, 1:32 PM
Hi, someone try to do some experiment with WebSocket + Coroutine? That’s my first experiment: https://gist.github.com/jacklt/2ada5872fd13f4ef7ae28f7fc19b4019
Copy code
fun longJob(jobName: String) = launch(CommonPool) {
    val easyWS = client.easyWebSocket("<ws://echo.websocket.org>")
    println("[$jobName] Open: ${easyWS.response}")
    launch(context) {
        for (i in 1..3) {
            delay(1000) // every 1s
            val msg = "Hi, I am $jobName @ $i!"
            println("[$jobName] --> $msg")
            easyWS.webSocket.send(msg)
        }
        easyWS.webSocket.close(1000, "Bye! $jobName")
    }

    for (msg in easyWS.textChannel) {
        println("[$jobName] <-- $msg")
    }

    println("[$jobName] Finish!")
}