-
Notifications
You must be signed in to change notification settings - Fork 3k
Home
CocoaAsyncSocket provides easy-to-use and powerful asynchronous socket libraries for Mac and iOS. The classes are described below.
GCDAsyncSocket is a TCP/IP socket networking library built atop Grand Central Dispatch. Here are the key features:
-
Native objective-c, fully self-contained in one class.
No need to muck around with sockets or streams. This class handles everything for you. -
Full delegate support
Errors, connections, read completions, write completions, progress, and disconnections all result in a call to your delegate method. -
Queued non-blocking reads and writes, with optional timeouts.
You tell it what to read or write, and it handles everything for you. Queueing, buffering, and searching for termination sequences within the stream - all handled for you automatically. -
Automatic socket acceptance.
Spin up a server socket, tell it to accept connections, and it will call you with new instances of itself for each connection. -
Support for TCP streams over IPv4 and IPv6.
Automatically connect to IPv4 or IPv6 hosts. Automatically accept incoming connections over both IPv4 and IPv6 with a single instance of this class. No more worrying about multiple sockets. -
Support for TLS / SSL
Secure your socket with ease using just a single method call. Available for both client and server sockets. -
Fully GCD based and Thread-Safe
It runs entirely within its own GCD dispatch_queue, and is completely thread-safe. Further, the delegate methods are all invoked asynchronously onto a dispatch_queue of your choosing. This means parallel operation of your socket code, and your delegate/processing code. -
The Latest Technology & Performance Optimizations
Internally the library takes advantage of technologies such as kqueue's to limit system calls and optimize buffer allocations. In other words, peak performance.
**AsyncSocket** is a TCP/IP socket networking library that wraps CFSocket and CFStream. Here are the key features:
-
Native objective-c, fully self-contained in one class.
No need to muck around with sockets or streams. This class handles everything for you. -
Full delegate support.
Errors, connections, read completions, write completions, progress, and disconnections all result in a call to your delegate method. -
Queued non-blocking reads and writes, with optional timeouts.
You tell it what to read or write, and it handles everything for you. Queueing, buffering, and searching for termination sequences within the stream - all handled for you automatically. -
Automatic socket acceptance.
Spin up a server socket, tell it to accept connections, and it will call you with new instances of itself for each connection. -
Support for TCP streams over IPv4 and IPv6.
Automatically connect to IPv4 or IPv6 hosts. Automatically accept incoming connections over both IPv4 and IPv6 with a single instance of this class. No more worrying about multiple sockets. -
Support for TLS / SSL
Secure your socket with ease using just a single method call. Available for both client and server sockets. -
Fully Run-loop based
Use it on the main thread or a worker thread. It plugs into the NSRunLoop with configurable modes.
AsyncUdpSocket is a UDP/IP socket networking library that wraps CFSocket.