Android利用kotlin协程发送接收TCP详细demo
时间: 2023-10-01 21:08:14 浏览: 300
以下是一个简单的使用Kotlin协程发送和接收TCP数据的示例:
```kotlin
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import java.net.Socket
fun main() {
runBlocking {
GlobalScope.launch(Dispatchers.IO) {
val socket = Socket("localhost", 8080)
val output = socket.getOutputStream()
val input = socket.getInputStream()
// 发送数据
val message = "Hello, server!"
output.write(message.toByteArray())
// 接收数据
val buffer = ByteArray(1024)
val bytesRead = input.read(buffer)
val response = String(buffer, 0, bytesRead)
println("Received: $response")
socket.close()
}
}
}
```
这个示例使用Kotlin协程在IO线程上执行网络操作,以确保应用程序的主线程不会被阻塞。在协程中,我们建立一个TCP连接,发送一条消息并接收服务器响应。在这个例子中,我们连接到本地主机的8080端口,但你可以将它替换为任何你想要连接的主机和端口。
请注意,这个示例只是一个简单的演示,可能会出现一些问题(例如,如果服务器没有响应)。在实际应用程序中,你应该使用更复杂和健壮的代码来处理这些情况。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)