如何在工作线程而不是主线程中使用AsyncSocket?

如何在工作线程而不是主线程中使用AsyncSocket?

问题描述:

我有一个iPhone应用程序连接到IP摄像头,并使用GET方法检索MJPEG数据。一切似乎都可以在模拟器上找到,但在设备上UI似乎被阻塞:每当我收到图像数据时,我都会将它加载到uiimageview中。看起来唯一的出路是让AsyncSocket在后台线程上运行并在mainThread上设置映像。如何在工作线程而不是主线程中使用AsyncSocket?

如何为AsyncSocket做这件事?

有一个非常简单的异步套接字模式,可以使用NSStream对象创建。查看iphone开发者网站上的WiTap示例,了解如何实现它的示例。

如果在WiTap示例中实现,则可能不需要任何后台线程。如果您仍然需要后台线程,请记住,您可能必须手动处理该线程的runloop以保持套接字的正常运行。查看NSRunloop文档以获取更多信息。