Swift51.com
Swift 头像
Swift  2016-01-24 17:07

WebSocket 客户端类库SwiftWebSocket

回复:0  查看:6178  感兴趣:39  赞:0  

Swift写的WebSocket 客户端类库SwiftWebSocket。

特性:

  • 高性能
  • 100%通过Autobahn Tests
  • 支持TLS / WSS,自签名证书。
  • API模仿Javascript API
  • 读取压缩消息。 (permessage-deflate). RFC 7692
  • 发送pings和接收pong事件。
  • 严格UTF-8处理。
  • binaryType 属性在 [UInt8] 或 NSData 消息之间选择。
  • 零判断。所有的联网、流、协议错误,都通过 error 事件路径发送。
  • Objective-C的兼容性。

示例代码:

func echoTest(){
    var messageNum = 0
    let ws = WebSocket("wss://echo.websocket.org")
    let send : ()->() = {
        let msg = "\(++messageNum): \(NSDate().description)"
        print("send: \(msg)")
        ws.send(msg)
    }
    ws.event.open = {
        print("opened")
        send()
    }
    ws.event.close = { code, reason, clean in
        print("close")
    }
    ws.event.error = { error in
        print("error \(error)")
    }
    ws.event.message = { message in
        if let text = message as? String {
            print("recv: \(text)")
            if messageNum == 10 {
                ws.close()
            } else {
                send()
            }
        }
    }
}


相关开源代码