WebSocket server for Swift 2.2.
WebSocket is made of:
- Epoch - Venice based HTTP server
You'll need an HTTP server. WebSocket and Epoch were designed to work with each other seamlessly.
#if os(Linux)
import Glibc
#else
import Darwin.C
#endif
import HTTP
import Epoch
import CHTTPParser
import CLibvenice
import WebSocket
let webSocketServer = WebSocketServer { webSocket in
print("WebSocket connected")
webSocket.listen { event in
switch event {
case .Binary(let data):
webSocket.send(data)
case .Text(let text):
webSocket.send(text)
case .Ping(let data):
webSocket.pong(data)
case .Pong(let data):
break
case .Close(let code, let reason):
print("WebSocket closed")
}
}
}
let server = Server(port: 8080, responder: webSocketServer)
server.start()
WebSocket depends on the C lib libvenice. Install it through:
$ brew tap zewo/tap
$ brew install libvenice
$ add-apt-repository 'deb [trusted=yes] http://apt.zewo.io/deb ./'
$ apt-get install libvenice
$ git clone https://github.com/Zewo/libvenice.git && cd libvenice
$ make
$ (sudo) make install
You only have to install the C libs once.
Then add WebSocket
to your Package.swift
import PackageDescription
let package = Package(
dependencies: [
.Package(url: "https://github.com/Zewo/WebSocket.git", majorVersion: 0, minor: 1)
]
)
Join us on Slack.
WebSocket is released under the MIT license. See LICENSE for details.