использование того же кода, что и для подключения к серверу сокетов в AWS с клиентской версией 9.0.1, не работает с 13.2.1 после обновления.перед обновлением код следовал
lazy var socket:SocketIOClient = {
//let cookieStorage = HTTPCookieStorage.shared
//let cookies = cookieStorage.cookies
return SocketIOClient(socketURL: URL(string: baseUrl)!, config: [.log(true), .forcePolling(true), .reconnectAttempts(-1), .reconnects(true), .reconnectWait(5), .doubleEncodeUTF8(true)])
}()
func socketInit(){
socket.on("connect") {data, ack in
print("socket connected")
let accessToken = TrueketekeClient.instance.accessToken as! String
self.socket.emit("authentication", ["id": accessToken, "userId": User.current!.id as! String])
}
socket.on("authenticated") {data, ack in
print("socket authenticated", data)
self.sendEnabled = true
if self.room != nil {
self.joinRoom()
}
}
socket.on("room:join") {data, ack in
print(data)
if self.room == nil {
self.newRoom = true
let dictData = data[0] as! [String:Any]
let room:Room? = Mapper<Room>().map(JSON: dictData)
self.room = room
self.newRoom = false
AnswerLog.chat()
}
if let title = self.room?.trueke?.title {
self.title = title
}
self.emitMessageQueue()
}
socket.on("message:readedAll") {data, ack in
if let userId = data[0] as? String{
if userId != User.current?.id as? String {
self.dataSource.updateReadedStatus(User.current?.id as? String)
}
}
}
socket.on("message:send") {data, ack in
let dictData = data[0] as! [String:Any]
let message:Message? = Mapper<Message>().map(JSON: dictData)
if let index = self.messageQueue.index(where: {$0.uid == message?.uid}){
self.messageSender.updateMessage(self.messageQueue[index], status: .success, readed: message?.unreaded == nil)
self.messageQueue.remove(at: index)
}else{
if message != nil {
self.addMessage(message!)
}
}
/* if message?.userId as? String != User.current?.id as? String {
self.dataSource.updateReadedStatus(User.current?.id as? String)
}*/
}
socket.on("error") {data, ack in
self.errorQueue()
}
socket.on("disconnect") {data, ack in
if self.socket.status == .notConnected || self.socket.status == .disconnected {
// self.socket.connect()
}
self.leaveRoom()
self.errorQueue()
}
/*socketClient.on("currentAmount") {data, ack in
if let cur = data[0] as? Double {
socketClient.emitWithAck("canUpdate", cur)(timeoutAfter: 0) {data in
socketClient.emit("update", ["amount": cur + 2.50])
}
ack.with("Got your currentAmount", "dude")
}
}*/
socket.connect()
}
и вызывал его в viewWillApper
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
socketInit()
}
после обновления библиотеки до версии 13.2.1 нового объявления.
var socket:SocketIOClient = SocketManager(socketURL: URL(string: baseUrl)!, config: [.log(true), .forcePolling(true), .reconnectAttempts(-1), .reconnects(true), .reconnectWait(5)]).defaultSocket
и вызов того же метода, что и выше в viewWillAppear , это не связанное сообщение, и вы получите это сообщение из консоли.
2018-05-30 21: 38: 22.201430-0400 Trueketeke [1598: 688036] LOG SocketManager: Выпуск диспетчера iniciando Socket 2018-05-30 21: 38: 22.249842-0400 Trueketeke [1598: 688036] LOG SocketIOClient {/}: Добавление обработчикадля события: подключите 2018-05-30 21: 38: 22.249948-0400 Trueketeke [1598: 688036] LOG SocketIOClient {/}: добавление обработчика для события: аутентифицировано 2018-05-30 21: 38: 22.249991-0400 Trueketeke [1598:688036] LOG SocketIOClient {/}: добавление обработчика для события: комната: соединение 2018-05-30 21: 38: 22.250024-0400 Trueketeke [1598: 688036] LOG SocketIOClient {/}: добавление обработчика для события: сообщение: readedAll 2018-05-30 21: 38: 22.250052-0400 Trueketeke [1598: 688036] LOG SocketIOClient {/}: добавление обработчика для события: сообщение: отправка 2018-05-30 21: 38: 22.250085-0400 Trueketeke [1598: 688036] LOG SocketIOClient {/}: добавление обработчика для события: ошибка 2018-05-30 21: 38: 22.250114-0400 Trueketeke [1598: 688036] LOG SocketIOClient {/}: добавление обработчика для события: отключение при подключении 2018-05-30 21: 38: 22.250201-0400 Trueketeke [1598: 688036] LOG SocketIOClient {/}: Попытка подключения к уже подключенному сокету
, поэтому я не вижу сообщения, указывающего print ("сокет подключен") , поэтому любые идеи почему не получаютсяподключен к розетке