Skip to content

Latest commit

 

History

History
69 lines (45 loc) · 1.3 KB

README.md

File metadata and controls

69 lines (45 loc) · 1.3 KB

ISAWebSocket

Simple WebSocket client on top of the Network framework

Usage

let socket = ISAWebSocket(url: URL(string: "wss://socketurl")!)

socket.delegate = MyDelegate()

socket.startConnection()

.....

final class MyDelegate: ISAWebSocketDelegate {
    func socket(_ socket: WebSocketClient, didReceiveMessage message: SocketMessage) {
        handle(message: message)
    }

    private func handle(message: SocketMessage) {
        switch message {
        case let .string(text):
            break

        case let .data(data):
            break
        }
    }

    func socket(_ socket: WebSocketClient, didReceiveConnectionStatus status: ConnectionStatus) {
        
    }

    func socket(_ socket: WebSocketClient, didReceiveMessage message: Result<SocketMessage, NWError>) {
        
    }

    func socket(_ socket: WebSocketClient, sendMessageDidFailedWithError error: NWError) {
        
    }

    func socket(_ socket: WebSocketClient, didReceivePingPongStatus status: PingPongStatus) {
       
    }
}

Close connection

socket.closeConnection()

Send data

socket.send(message: .string("some_UTF8_String"))

socket.send(message: .data(Data()))

Send ping

socket.sendPing()

Example

https://github.com/IsaiasSantana/ISAWebSocketExample