Swift-SocketIO 聊天室

集成pod

  # scoket连接框架
  pod 'Socket.IO-Client-Swift', '15.2.0'
  # 异步编程框架
  pod 'PromiseKit'
# 模型转换框架
  pod 'KakaJSON', '1.1.2'
   private var manager:SocketManager?
    private var socket:SocketIOClient?
    // [] 里面传递需要的字段 ,比如版本号  [ "h": HttpRequestUtil.share.platformVersion]
    private var socketHeaders : [String:String] = [:]
    private var config:SocketIOClientConfiguration = []
  /// 连接socket
    public func connect(){
        if manager != nil {
            //断开连接
            disconnect()
        }
        
        socketHeaders["t"] = "用户token"
        socketHeaders["isEnabled"] = "false"
        config = [
            .log(true),//打印日志
            .compress,
            .extraHeaders(socketHeaders),
            .reconnects(true), //是否重连机制
            .reconnectWaitMax(7) //重新连接等待最大秒数
        ]
        
        manager = SocketManager(socketURL: WSURL!, config: config)
        socket = manager?.defaultSocket
        listeningStatus()
        listeningMsgEvent()
        socket?.connect()
        
    }

具体实现请看demo
https://github.com/SwiftHsw/SocketIO

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容