Android Kotlin 使用 OkHttp Socket 连接服务器并发送数据
以下是一个使用 OkHttp 进行 Socket 连接并发送数据给服务器的示例代码:
import okhttp3.*
import java.io.IOException
fun main() {
val client = OkHttpClient()
val request = Request.Builder()
.url('http://your-server-url')
.build()
client.newCall(request).enqueue(object : Callback {
override fun onResponse(call: Call, response: Response) {
val socket = response.body?.source()?.inputStream()?.use { inputStream ->
// 创建一个 Socket 连接
Socket('your-server-ip', 8080).apply {
// 获取 Socket 的输出流
val outputStream = getOutputStream()
// 发送数据给服务器
val data = 'Hello, Server!'.toByteArray()
outputStream.write(data)
outputStream.flush()
// 读取服务器的响应数据
val buffer = ByteArray(4096)
val bytesRead = inputStream.read(buffer)
val response = String(buffer, 0, bytesRead)
println('Server response: $response')
// 关闭 Socket 连接
close()
}
}
}
override fun onFailure(call: Call, e: IOException) {
e.printStackTrace()
}
})
}
请确保将 your-server-url 替换为您的服务器 URL,将 your-server-ip 替换为您的服务器 IP 地址,以及根据您的实际需求更改端口号和发送的数据。
原文地址: https://www.cveoy.top/t/topic/qeMV 著作权归作者所有。请勿转载和采集!