要指定https在你的socketURL参数中.
convenience init(socketURL: NSURL, options: NSDictionary?)
同上, 但是为了ObjC准备,使用字典.
Options
所有关于SocketIOClientOption的设置.如果是ObjC,转换名字lowerCamelCase.
case ConnectParams([String: AnyObject]) // 通过字典内容连接
case Cookies([NSHTTPCookie]) // An array of NSHTTPCookies. Passed during the handshake. Default is nil.
case DoubleEncodeUTF8(Bool) // Whether or not to double encode utf8. If using the node based server this should be true. Default is true.
case ExtraHeaders([String: String]) // 添加自定义请求头初始化来请求, 默认为nil
case ForcePolling(Bool) // 是否使用 xhr-polling. Default is `false`
case ForceNew(Bool) // 将为每个连接创建一个新的connect, 如果你在重新连接时有bug时使用.
case ForceWebsockets(Bool) // 是否使用 WebSockets. Default is `false`
case HandleQueue(dispatch_queue_t) // 调度handle的运行队列. Default is the main queue.
case Log(Bool) // 是否打印调试信息. Default is false.
case Logger(SocketLogger) // 可自定义SocketLogger调试日志.默认是系统的.
case Nsp(String) // 如果使用命名空间连接. Must begin with /. Default is `/`
case Path(String) // 如果服务器使用一个自定义路径. 例如: `"/swift/"`. Default is `""`
case Reconnects(Bool) // 是否重新连接服务器失败. Default is `true`
case ReconnectAttempts(Int) // 重新连接多少次. Default is `-1` (无限次)
case ReconnectWait(Int) // 等待重连时间. Default is `10`
case SessionDelegate(NSURLSessionDelegate) // NSURLSessionDelegate 底层引擎设置. 如果你需要处理自签名证书. Default is nil.
case Secure(Bool) // 如果连接要使用TLS. Default is false.
case SelfSigned(Bool) // WebSocket.selfSignedSSL设置 (Don't do this, iOS will yell at you)
case VoipEnabled(Bool) // 如果你的客户端使用VoIP服务,只有用这个选项,Default is false
方法
on(event: String, callback: NormalCallback) -> NSUUID // 给一个事件添加一个句柄. Items are passed by an array. 可以发送ack请求. 例如,返回一个唯一ID.
once(event: String, callback: NormalCallback) -> NSUUID // 同上,但只执行一次.
onAny(callback:((event: String, items: AnyObject?)) -> Void) //可以给所有事件添加一个句柄. event可以接收任何事件.
emit(event: String, _ items: AnyObject...) // 发送一个或多条消息.
emit(event: String, withItems items: [AnyObject]) // emit for Objective-C
emitWithAck(event: String, _ items: AnyObject...) -> (timeoutAfter: UInt64, callback: (NSArray?) -> Void) -> Void // 给服务器发送一个ack确认请求. 返回一个函数,你可以用它添加一个句柄. 注意: 直到你调用这个返回函数,才会发送消息
emitWithAck(event: String, withItems items: [AnyObject]) -> (UInt64, (NSArray?) -> Void) -> Void // 同上,为Objective-C准备的
connect() // 建立一个连接到服务器. 连接成功会触发 "connect"事件
connect(timeoutAfter timeoutAfter: Int, withTimeoutHandler handler: (() -> Void)?) // 连接到服务器. 如果连接超时,会调用handle
disconnect() // Closes the socket. 重开一个断开连接的socket还没完全测试.
reconnect() // Causes the client to reconnect to the server.
joinNamespace(namespace: String) - Causes the client to join namespace. 不应该被调用,除非你手动改变命名空间.
leaveNamespace() // Causes the client to leave the nsp and go back to '/'
off(event: String) - Removes all event handlers for event.
off(id id: NSUUID) - Removes the event that corresponds to id.
removeAllHandlers() - Removes all handlers.
客户端的事件
connect – 当成功连接时Emitted
disconnect – 当连接断开Emitted
error – 发送错误时Emitted
reconnect – 当开始重连时Emitted
reconnectAttempt – 当尝试重连时Emitted