Alternatively navigate to your Xcode project, select Swift Packages and click the + icon to search for WebSocketKit.
Manually
If you prefer not to use any of the aforementioned dependency managers, you can integrate WebSocketKit into your project manually. Simply drag the Sources Folder into your Xcode project.
Usage
At first import WebSocketKit
import WebSocketKit
Define a WebsSocket instance
let websocket = WebsSocket(url: URL(string: "wss://echo.websocket.org")!)
It also makes sense to create a instance of a class that conforms to the WebSocketConnectionDelegate in order to receive websocket events. Be aware that you also need to import the Network framework in order to have access to NWProtocolWebSocket.
import Network
class WebSocketDelegate: WebSocketConnectionDelegate {
func webSocketDidConnect(connection: WebSocketConnection) {
print("WebSocket did connect")
}
func websocketDidPrepare(connection: WebSocketConnection) {
print("WebSocket did prepare")
}
func webSocketDidDisconnect(connection: WebSocketConnection, closeCode: NWProtocolWebSocket.CloseCode, reason: Data?) {
print("WebSocket did disconnect")
}
func websocketDidCancel(connection: WebSocketConnection) {
print("WebSocket did cancel")
}
func webSocketDidReceiveError(connection: WebSocketConnection, error: Error) {
print("WebSocket did receive error: \(error)")
}
func webSocketDidReceivePong(connection: WebSocketConnection) {
print("WebSocket did receive pong")
}
func webSocketDidReceiveMessage(connection: WebSocketConnection, string: String) {
print("WebSocket did receive string message: \(string)")
}
func webSocketDidReceiveMessage(connection: WebSocketConnection, data: Data) {
print("WebSocket did receive data message")
}
}
Set an instance of the delegate instance to the Websocket instance and start listening for events
let delegate = WebSocketDelegate()
websocket.delegate = delegate
websocket.connect() // Connects to the url specified in the initializer and listens for messages
Custom headers
Often it is necessary to attach custom headers to the connection. You can do so by specifying them in the initializer of the Websocket class.
WebSocketKit
WebSocketKit is a small wrapper around the `Network` framework to work with websocket connections
Installation
Swift Package Manager
To integrate using Apple’s Swift Package Manager, add the following as a dependency to your
Package.swift
:Alternatively navigate to your Xcode project, select
Swift Packages
and click the+
icon to search forWebSocketKit
.Manually
If you prefer not to use any of the aforementioned dependency managers, you can integrate
WebSocketKit
into your project manually. Simply drag theSources
Folder into your Xcode project.Usage
At first import
WebSocketKit
Define a
WebsSocket
instanceIt also makes sense to create a instance of a class that conforms to the
WebSocketConnectionDelegate
in order to receive websocket events. Be aware that you also need to import theNetwork
framework in order to have access toNWProtocolWebSocket
.Set an instance of the delegate instance to the
Websocket
instance and start listening for eventsCustom headers
Often it is necessary to attach custom headers to the connection. You can do so by specifying them in the initializer of the
Websocket
class.Contributing
Contributions are very welcome 🙌