一个是GCD,另一个是Runloop?它是抽象的,如何为我的TCP连接选择一个?非常感谢,我只找到如何在 github上使用GCDAsyncSocket,但不知道如何选择一个. 希望这可以帮助你: Even if you’re on iOS o
Even if you’re on iOS only, there will likely be multi-core iOS devices in the near future. And GCD will be an excellent way to take advantage of the additional resources with GCDAsyncSocket
GCDAsyncSocket
> GCDAsyncSocket的最低要求:Mac OS X 10.6或iOS 4.0
> GCDAsyncSocket比AsyncSocket执行得更好.
>考虑将加密/解密(不是SSL / TLS)卸载到另一个线程上,在我看来,走GCD的方式将是更好的选择.
GCDAsyncSocket的具体功能包括:
1. Classic delegate-style support. 2. It allows allows for parallel socket IO and data processing, as well as easy thread-safety. 3. Queued non-blocking reads and writes, with optional timeouts. 4. Automatic support for IPv4 and IPv6. 5. SSL/TLS support. 6. Built upon the latest technologies such as queues and GCD. 7. Self-contained in one class. You don't need to muck around with streams or sockets. The class handles all of that.
AsyncSocket
AsyncSocket库由一个类组成,也称为AsyncSocket. AsyncSocket的实例表示一个套接字,可以是侦听套接字或连接套接字.
>如果您需要在Mac OS X 10.6或iOS 4.0之前支持OS版本,那么您现在需要坚持使用AsyncSocket.
> AsyncSocket提供易于集成的“即发即忘”网络,使您的应用程序可以轻松支持网络.
功能包括:
• Queued non-blocking reads and writes, with timeouts. • Automatic socket acceptance. • Delegate support. • Run-loop based, not thread based. • Self-contained in one class. You do not need to muck around with a collection of stream or socket instances. The class handles all of that. • Support for TCP streams. AsyncSocket does not support UDP or multicast sockets. • Based on Apple’s own CFSocket and CFStream Carbon APIs.
参考Reference_GCDAsyncSocket
参考About AsyncSocket