SwifterSockets alternatives and similar libraries
Based on the "WebSocket" category.
Alternatively, view SwifterSockets alternatives based on common mentions on social networks and blogs.
-
SocketRocket
A conforming Objective-C WebSocket client library. -
socket.io-client-swift
Socket.IO-client for iOS/OS X. -
SwiftWebSocket
High performance WebSocket client library for Swift, iOS and OSX. -
Socks
๐ Non-blocking TCP socket layer, with event-driven server and client. -
Swift-ActionCableClient
ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. This Swift client makes it dead-simple to connect with that server, abstracting away everything except what you need to get going. -
Chronos-Swift
:hourglass: Grand Central Dispatch Utilities -
SwiftyTask
An extreme queuing system with high performance for managing all task in app with closure
WorkOS - The modern identity platform for B2B SaaS
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of SwifterSockets or a related project?
README
SwifterSockets
A collection of socket utilities in pure Swift
SwifterSockets is part of the Swiftfire webserver project.
The reference manual
SwifterSockets is also used in our PortSpy application in the App Store. Buyers of PortSpy get the complete sources of the project (Xcode project) used to build the App.
If you need secure connections, check out SecureSockets which is build on top of SwifterSockets (and OpenSSL).
If you are new to socket programming, check out our blog series which starts here
Features
- Shields the Swift application from the complexity of the Unix socket calls.
- Directly interfaces with the POSIX calls using:
- connectToTipServer
- tipTransfer
- tipReceiverLoop
- tipAccept
- setupTipServer
- Implements a framework on top of the POSIX calls with:
- Connection (class)
- connectToTipServer (returns a connection)
- TipServer (class, produces connections)
- Includes replacements for the FD_SET, FD_CLR, FD_ZERO and FD_ISSET macro's.
- Builds as a library using the Swift Package Manager (SPM)
Installation
SwifterSockets can be used by the Swift Package Manager. Just add it to your package manifest as a dependency.
Alternatively you can clone the project and generate a Xcode framework in the following way:
First clone the repository and create a Xcode project:
$ git clone https://github.com/Balancingrock/SwifterSockets $ cd SwifterSockets $ swift package generate-xcodeproj
Double click that project to open it. Once open set the
Defines Module
to 'yes' in theBuild Settings
before creating the framework. (Otherwise the import of the framework in another project won't work)In the project that will use SwifterSockets, add the SwifterSockets.framework by opening the
General
settings of the target and add the SwifterSockets.framework to theEmbedded Binaries
.In the Swift source code where you want to use it, import SwifterSockets at the top of the file.
Version history
No new features planned. Updates are made on an ad-hoc basis as needed to support Swiftfire development.
1.1.3
- Reduced suported macOS platform to v10_10.
1.1.2
- Added platforms, swift version and LICENSE file.
1.1.1
- Added linux compatibility
1.1.0
- Removed SocketAddress.swift (due to warnings in Swift 5.2)
- Switched to Swift.Result instead of BRUtils.Result
- Introduced SwifterSocketsResult
- Removed now superfluous BRUtils dependency
1.0.2
- Documenation updates
1.0.1
- Fixed website link in header
1.0.0
- Restructured for Swiftfire 1.0.0
*Note that all licence references and agreements mentioned in the SwifterSockets README section above
are relevant to that project's source code only.