集成pod
# scoket連接框架
pod 'Socket.IO-Client-Swift', '15.2.0'
# 異步編程框架
pod 'PromiseKit'
# 模型轉(zhuǎn)換框架
pod 'KakaJSON', '1.1.2'
private var manager:SocketManager?
private var socket:SocketIOClient?
// [] 里面?zhèn)鬟f需要的字段 ,比如版本號(hào) [ "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), //是否重連機(jī)制
.reconnectWaitMax(7) //重新連接等待最大秒數(shù)
]
manager = SocketManager(socketURL: WSURL!, config: config)
socket = manager?.defaultSocket
listeningStatus()
listeningMsgEvent()
socket?.connect()
}
具體實(shí)現(xiàn)請(qǐng)看demo
https://github.com/SwiftHsw/SocketIO