【发布时间】:2020-01-06 00:55:04
【问题描述】:
在 iOS 应用程序中,我正在使用 CoreBlueTooth L2CAP channel 在一台设备和另一台设备之间进行音频文件传输。它已经工作了一半,但还没有完全工作。至此我已经转移了文件名,但是来到文件内容,是这种情况。
在发送端,所有字节都被发送(几十万字节),分布在几个块中。但在接收端,似乎只有前几千个字节到达目的地。
功能:
func stream(_ aStream: Stream,
handle eventCode: Stream.Event) {
......
}
被调用一次(使用 Stream.Event.hasBytesAvailable)并获取前几千个字节。但后来它再也没有被调用过。这可能是什么原因?我希望在收到所有字节之前尽可能多次调用它。
【问题讨论】:
-
请出示您的发送代码。收到一些字节后,您应该检查流上的
hasBytesAvailable,如果仍有可用字节,请再次调用read。您不能依赖被调用的事件处理程序。在 largedata 分支中检查我更新的外围代码
标签: ios swift core-bluetooth l2cap