Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在线程中运行套接字流_Iphone_Objective C_Multithreading - Fatal编程技术网

Iphone 在线程中运行套接字流

Iphone 在线程中运行套接字流,iphone,objective-c,multithreading,Iphone,Objective C,Multithreading,我有一个应用程序,它可以打开一个带有两个套接字(输入和输出)的连接,我想让它们在一个线程中工作 我希望它们位于单独的线程中的原因是,我不希望我的应用程序在接收数据时冻结,只要应用程序正在运行,这种情况随时都可能发生 目前我有一个处理网络通信的类,我在NSO操作中运行这个类,我不确定它是否是最好的解决方案 我不太熟悉线程,所以伙计们,如果你们能给我一些帮助,我将非常感激 首先,您应该知道,您可以使用同一个套接字发送和接收数据—它们通常是双向的。您应该能够在多个执行线程之间共享对同一套接字的引用 第

我有一个应用程序,它可以打开一个带有两个套接字(输入和输出)的连接,我想让它们在一个线程中工作

我希望它们位于单独的线程中的原因是,我不希望我的应用程序在接收数据时冻结,只要应用程序正在运行,这种情况随时都可能发生

目前我有一个处理网络通信的类,我在NSO操作中运行这个类,我不确定它是否是最好的解决方案

我不太熟悉线程,所以伙计们,如果你们能给我一些帮助,我将非常感激


首先,您应该知道,您可以使用同一个套接字发送和接收数据—它们通常是双向的。您应该能够在多个执行线程之间共享对同一套接字的引用

第二,除非您将接收大量数据,并且UI出现性能问题,否则我将延迟对其进行优化。(别误会我的意思,这是一个很好的考虑,但过早优化是万恶之源,简单一点通常会更好,如果它能充分发挥作用。)

第三,对象是“单次放炮”,这意味着一旦
main
方法完成,操作任务就不能再次使用。这可能会也可能不会有利于您的网络模式。你也可以看看。事实上,您已经“考虑到”了功能,这对您的设计是个好兆头,不管结果如何

最后,线程是一个复杂的话题,但苹果公司是一个很好的起点(特别是对于Objective-C)