how to use socket IO in kotlin?

2019-01-28 19:42发布

问题:

I want to initialize socket IO in my kotlin app.

my problem is here :

    private var mSocket: Socket? = null
{
    try {
        mSocket = IO.socket("http://chat.socket.io")
    } catch (URISyntaxException e) {
    }
}

import com.github.nkzawa.socketio.client.IO

cant recognize

回答1:

In Kotlin you can make a Socket Client like the following. All the Exceptions are handled here too.

fun pingYourTCPServerWith(message: String): String{
    try {
        val socket = Socket("<YOUR IP ADDRESS>", <YOUR PORT HERE>)
        socket.use {

            var responseString : String? = null

            it.getOutputStream().write(message.toByteArray())
            val bufferReader = BufferedReader(InputStreamReader(it.inputStream))
            while (true) {
                val line = bufferReader.readLine() ?: break
                responseString += line
                if (line == "exit") break
            }
            println("Received: $responseString")
            bufferReader.close()
            it.close()
            return responseString!!
        }
    }catch (he: UnknownHostException){
        val exceptionString = "An exception occurred:\n ${he.printStackTrace()}"
        return   exceptionString
    }catch (ioe: IOException){
        val exceptionString = "An exception occurred:\n ${ioe.printStackTrace()}"
        return   exceptionString
    } catch (ce: ConnectException){
        val exceptionString = "An exception occurred:\n ${ce.printStackTrace()}"
        return   exceptionString
    }catch (se: SocketException){
        val exceptionString = "An exception occurred:\n ${se.printStackTrace()}"
        return   exceptionString
    }
}