美文网首页iOS直播/即时通讯
webSocket- socket.io_ios使用指南

webSocket- socket.io_ios使用指南

作者: 开发者阿俊 | 来源:发表于2016-08-15 00:50 被阅读1545次

    要指定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
    

    相关文章

      网友评论

      • 6f0a6500c984:最新版接收消息中文乱码有没有遇到过?
      • 逸风lovely:楼主,你好!请问有没有socket.io 的小demo,因为我调试了好久的官方例子还没有调通,万分感谢,希望能和你交流下,QQ:1072864875
      • a5801c042555:博主,我这边已经支持HTTP连接,但对于HTTPS,是不是需要导入证书,开启验证?

      本文标题:webSocket- socket.io_ios使用指南

      本文链接:https://www.haomeiwen.com/subject/fhajsttx.html