gpt4 book ai didi

iphone - 什么时候使用哪个? NSURLConnection 与较低级别的套接字 API

转载 作者:行者123 更新时间:2023-12-03 21:19:14 24 4
gpt4 key购买 nike

我正在开发一个 iPhone 应用程序,它从服务器流式传输数据(例如心电图数据,如点)并将其显示(意味着绘图)在屏幕上 - 即实时流式传输。为此,我使用 NSURLConnection

我面临的问题是,由于数据从服务器到iPhone的速度如此之快,缓存缓冲区快速增加,导致显示的数据落后于来自服务器的实际数据。一段时间后,应用程序运行速度太慢,并收到内存警告。

所以我的问题是,我应该如何处理来自服务器的数据?我应该继续使用 NSURLConnection 还是进行较低级别的套接字编程?

最佳答案

我建议您实现某种流量控制:

最简单的方法是在缓冲区已满时删除数据。对于视频流,可能会丢帧。我不知道你的数据是否可以实现同样的效果。

另一种方法是从 NSURLConnection 基于事件的 API(框架控制何时必须使用react)切换到 CFSocket 类,您可以在其中读取数据你已经准备好了。它更底层,需要一个单独的线程和一些高级逻辑,例如当缓冲区已满时进入休眠状态,并在主线程显示更多数据并在缓冲区中腾出更多空间时被唤醒。通过这种方法,您基本上是在 TCP 流量控制机制之上进行构建。

另一种方法是使用另一种网络协议(protocol),您可以更好地控制发送的数据量。

关于iphone - 什么时候使用哪个? NSURLConnection 与较低级别的套接字 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6555539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com