我正在使用这个库
api('io.socket:socket.io-client:1.0.0') {
exclude group: 'org.json', module: 'json'
}
我正在使用下面的代码发送文件。它适用于最大约 6mb 的小文件。但是对于较大的文件,例如 30mb,它会尝试上传大约 5 秒钟,但随后套接字会自动“重新连接”而不上传。 input = file.inputStream()
byteArray = input.readBytes()
val fileJson = JSONObject()
fileJson.put("file", byteArray)
socket.emit("media/upload", fileJson)
服务器端看起来不错,因为它可以从网络到网络工作。我做得不对吗?
最佳答案
我在处理文件(100Mb)时遇到了同样的问题,然后我将文件分成几个小块/数据包(1024字节),然后确保你没有为每个数据包创建一个新的连接,然后你可以随时将数据包写入磁盘以获取文件。
对于拆分文件,您可以引用 How to break a file into pieces using Java?
它还有一个关于合并文件的示例
这不是最好的解决方案,但会让你继续前进。
关于android - 从 Android 发送大文件时 io.socket 重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62959584/