Swiftpack.co - tesseract-one/WebSocket.swift as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by tesseract-one.
tesseract-one/WebSocket.swift 0.2.0
Cross-platform WebSocket client implementation based on Swift NIO
⭐️ 4
🕓 3 weeks ago
.package(url: "https://github.com/tesseract-one/WebSocket.swift.git", from: "0.2.0")

WebSocket.swift

🐧 linux: ready GitHub license Build Status GitHub release SPM compatible CocoaPods version Platform OS X | iOS | tvOS | watchOS | Linux

Cross-platform WebSocket client implementation based on Swift NIO

Goals

We have good WebSocket libraries for Apple platforms, but we need it on Linux too. This library based on Apple Swift NIO framework, which allows it to be cross-platform.

Getting started

Installation

Package Manager

Add the following dependency to your Package.swift:

.package(url: "https://github.com/tesseract-one/WebSocket.swift.git", from: "0.2.0")

Run swift build and build your app.

CocoaPods

Add the following to your Podfile:

pod 'TesseractWebSocket.swift', '~> 0.2'

Then run pod install

Examples

Echo Connection

import Foundation
import WebSocket

let socket = WebSocket()

socket.onConnected = { ws in
  ws.send("hello")
}

socket.onData = { data, ws in
  print("Received", data)
  assert(data.text! == "hello")
  ws.disconnect()
}

socket.connect(url: URL(string: "wss://echo.websocket.org")!)

WARNING! You should always disconnect WebSocket. It will leak otherwise! And will leak thread too!

Author

License

WebSocket.swift is available under the Apache 2.0 license. See the LICENSE file for more information.

GitHub

link
Stars: 4
Last commit: 3 weeks ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

Moved to Swift 5.4. Updated Swift NIO.
3 weeks ago

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics