【发布时间】:2021-09-24 19:57:22
【问题描述】:
我正在尝试制作一个向我的服务器发送消息并接收响应并每秒更新我的应用程序的应用程序。问题是每次我必须创建一个新套接字并发送消息然后关闭速度很慢的套接字。我想知道是否有一种方法可以制作一个套接字并发送我的消息,当我完成后关闭套接字。这就是我的函数的工作原理。
public suspend fun dataexchange1(address: String, port: Int, message: String): String? {
val socket = Socket(address, port)
val Input = BufferedReader(InputStreamReader(socket!!.getInputStream()))
val output = DataOutputStream(socktst!!.getOutputStream())
output!!.write(message.toByteArray())
var response= Input.readLine()
Input.close()
socket!!.close()
return response.toString()
}
【问题讨论】:
-
不要关闭流 - 不知道你是如何设置它的,但通常你会有 2 个线程,一个用于输出,一个用于输入。关闭任何一个流都会关闭套接字 ..?