SwiftWebSocket 是高性能的 WebSocket 客户端库。
特性:
纯 Swift 解决方案,无需Objective-C的桥接。
读取压缩消息 (permessage-deflate). IETF Draft
permessage-deflate
严格UTF-8处理。
API 模仿 Javascript API.
支持 TLS / WSS .
binaryType 属性在 [UInt8] 或 NSData 消息之间选择。
binaryType
[UInt8]
NSData
零判断。所有的联网、流、协议错误,都通过 error 事件路径发送。
error
发送 pings 和接受 pong 事件。
高性能。
例子:
func echoTest(){ var messageNum = 1 var ws = WebSocket(url: "wss://echo.websocket.org") var send : ()->() = { var msg = "#\(messageNum++): \(NSDate().description)" println("send: \(msg)") ws.send(msg) } ws.event.open = { println("opened") send() } ws.event.close = { (code, reason, clean) in println("close") } ws.event.error = { (error) in println("error \(error.localizedDescription)") } ws.event.message = { (message) in if let text = message as? String { println("recv: \(text)") send() } } }