我的 iPhone 通过 adhoc WiFi 连接到 WiFi 传感器模块。
挑战是编写一个使用此传感器模块的应用程序。但我不确定使用什么特定的 API 来最好地构建此实现。
我已经开始研究 CocoaAsyncSocket class因为它似乎是适合此类用途的工具。
用户是否始终需要手动连接到 adhoc WiFi 设备? (通过“设置”应用程序)或者我自己的应用程序可以处理 wifi 连接的搜索、建立和断开吗?
我怀疑 iOS 是否允许我以编程方式切换 Wifi 是否打开/关闭。
接收到传感器数据后,哪种容器最适合处理该流? 例如,在其他平台上,我编写了一个旋转队列缓冲区。
感谢您的意见。
编辑:有问题的协议(protocol)是直接 CSV 格式的 ASCII。不是 HTTP、FTP 等。只是原始数据。该应用程序只是在连接的IP上打开一个端口,并进行读/写。
最佳答案
您的应用程序无法打开/关闭 wifi,或选择 wifi 网络。
如果没有有关此 WiFi 传感器模块所采用协议(protocol)的更多信息,任何人都无法给出模糊的建议。如果模块可以通过 http 连接提供数据,那可能是理想的选择。如果它要求您的软件在特定端口上打开连接并通过 http 或 ftp 以外的其他方式进行通信,你的工作会稍微复杂一些。 CFNetwork以及从它的用法派生的项目,例如您提到的 CocoaAsyncSocket。您可以在 ASIHTTPRequest 中看到通过 CFNetwork 的 HTTP 连接的另一种实现。 ,这可能有助于作为处理下载流、排队操作等的引用。
至于存储数据,如果没有更多信息,很难给出任何具体建议。如果要将数据存储到iOS设备的文件系统中,NSData可能会满足您的需求。如果您需要/喜欢使用队列来缓冲数据,可以使用 s imple category on NSArray它提供队列语义。该文章中 CHCircularBuffer 的链接已失效,但是 this github project好像有。
编辑: Here is the official version CHDataStructures 的。我不知道这是否比之前的链接有所改进,但它似乎针对最新的 iOS SDK 进行了更新。
关于iphone - iOS adhoc wifi 传感器数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6611526/