我有两个用 Kotlin 编写的 android 应用程序 - 一个用作经典蓝牙服务器,另一个用作经典蓝牙客户端,使用 BluetoothSocket 类。
我可以建立一个连接并使用它从服务器发送图像作为对客户端请求的回复,并且可能需要几秒钟来发送单个请求的所有图像,服务器在一次写入操作中发送每个图像到输出流,但客户端将其划分为最多 990 个字节的部分。
我的问题是取消数据传输 - 我希望如果服务器发送当前请求并且在中间请求客户端请求新请求 - 我希望服务器或客户端能够重置流,以便客户端不再获取旧响应的部分,但只获取新响应的部分。目前,我仍然在客户端收到较旧的响应数据包,这会导致较新的响应延迟。
我尝试使用重置,但显然它在蓝牙套接字的输入流中不受支持。我如何才能重置套接字或其流,以便在客户端收到更新的响应。
谢谢。