Android Kotlin OkHttp WebSocket 连接示例代码
以下是一个使用 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服务器地址。
原文地址: https://www.cveoy.top/t/topic/qeLq 著作权归作者所有。请勿转载和采集!