如何解决文件组传输后如何从附近的连接客户端获取完成更新
策略是:点对点策略
连接客户端为每个文件有效负载完成提供回调,但我从文件夹发送文件组,但我需要知道每个文件传输何时完成,以便我可以更新 UI。附近的连接 api 是否有任何方法可以用来检查是否仍有传输正在进行。如果没有,处理这个问题的最佳方法是什么?
Edit1:我想过将文件计数作为字节发送,然后开始文件传输并比较调用 processfile 方法或调用两次 onpayloadtransfreupdate() 的次数(文件和文件名),如果它们匹配。收到所有文件。但我希望有更具体的方法来处理这个问题。
Edit2:既然我知道相同的文件类型保证按顺序到达,我还可以在最后发送一个虚拟文件负载,并在 onpayloadstatusupdate() 中等待该负载知道我的传输已完成。
另一方面,附近的连接 api 对我的用例是否可靠(发送多个文件,一对一策略),我应该改用 wifi 直接对等 api 吗?
val files = folder.listFiles()
for (file in files){
sendFile(file,file.name)
}
// in sendFile method()
try {
val filePayload: Payload = Payload.fromFile(file)
val filename = filePayload.id.toString() + ":"+ fileName
mEndPoint?.id?.let {
mConnectionsClient?.sendPayload(
it,Payload.fromBytes(filename.toByteArray(StandardCharsets.UTF_8)))
mConnectionsClient?.sendPayload(it,filePayload)
}
} catch (e: FileNotFoundException) {
Toast.makeText(myapplication.applicationContext,"file not found",Toast.LENGTH_SHORT).show()
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。