在我的应用程序中,我们需要与服务器进行套接字通信,并且通过谷歌搜索和Apple文档,发现以下内容
1-NSStream类
2个-CFSocket
我有点困惑,看起来NSStream是CFSocket类的包装器,而且,我需要进行安全套接字通信,然后继续使用NSStream / NSInputStream和NSOutput流,
整个应用程序以前使用的是OpenSSL,现在必须使用本机SSL,有人可以帮助我指出正确的方向,
-如果我继续使用NSStream或Cocoa中可用的任何其他框架,
-如果存在NSStream,则它具有轮询和运行循环,这是最可取的,
-有没有我可以参考的例子,
提前致谢
最佳答案
使用NSStream可能是最好的解决方案,因为您不必关心每个细节。此外,运行循环方法更好,因为它检查是否有要读取的数据,因此您不必这样做。
通常,最好使用可用的最高级别的抽象,只有在确实需要时才使用低级别的抽象。网络编程有时可能很难正确且快速地完成,而Cocoa可以为您很好地处理此问题。
请参阅NSStream: TCP and SSL博客文章,了解如何与NSStream建立SSL连接。尽管它针对iOS,但在这种情况下它应同样适用于Mac OS X,因为我在博客中没有发现任何特定于iOS的代码或概念。
关于cocoa - Mac/Cocoa中的套接字编程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7021839/