以下是一个使用 OkHttp 库在 Android Kotlin 中进行 Socket 连接的示例代码:

import okhttp3.*
import java.io.IOException

class SocketClient {
    private val client = OkHttpClient()

    fun connectToSocket(url: String) {
        val request = Request.Builder()
            .url(url)
            .build()

        client.newWebSocket(request, object : WebSocketListener() {
            override fun onOpen(webSocket: WebSocket, response: Response) {
                // 连接成功
                webSocket.send('Hello, Server!')
            }

            override fun onMessage(webSocket: WebSocket, text: String) {
                // 接收到消息
                println("Received message: $text")
            }

            override fun onClosing(webSocket: WebSocket, code: Int, reason: String) {
                // 关闭连接
                webSocket.close(NORMAL_CLOSURE_STATUS, null)
            }

            override fun onFailure(webSocket: WebSocket, t: Throwable, response: Response?) {
                // 连接失败
                println("Connection failed: ${t.message}")
            }
        })
    }

    companion object {
        const val NORMAL_CLOSURE_STATUS = 1000
    }
}

fun main() {
    val socketClient = SocketClient()
    socketClient.connectToSocket("ws://localhost:8080") // 请替换为实际的WebSocket服务器地址
}

在上面的示例代码中,我们首先创建了一个OkHttpClient对象,然后使用Request.Builder()构建一个请求,指定WebSocket服务器的URL。接下来,我们使用client.newWebSocket()方法来建立WebSocket连接,并传入一个WebSocketListener对象,该对象包含了对连接状态的回调方法。

WebSocketListener的回调方法中,我们可以处理连接打开、接收到消息、连接关闭以及连接失败等情况。在onOpen()方法中,我们可以发送消息到服务器;在onMessage()方法中,我们可以处理接收到的消息;在onClosing()方法中,我们可以关闭连接;在onFailure()方法中,我们可以处理连接失败的情况。

最后,在main()函数中,我们创建了一个SocketClient对象,并调用connectToSocket()方法来连接到WebSocket服务器。请根据实际情况替换为您的WebSocket服务器地址。

Android Kotlin OkHttp WebSocket 连接示例代码

原文地址: https://www.cveoy.top/t/topic/qeLq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录