Swift не работает веб-сокет соединение

Рейтинг: 0Ответов: 0Опубликовано: 21.05.2023

Хочу реализовать чат на веб-сокетах (использую библиотеку SocketIO-Swift-Client), на стороне бекенда использую PHP SocketIO (Workerman). Запускаю, но ничего не работает и ничего не происходит (консоль не выдает ни ошибок, ничего). Нужно, чтобы работало на iOS 12 включительно.

Что использую для разработки:

  1. XCode 11.6 (обновить не могу, т.к. у меня мак 2012 года)
  2. Starscream 4.0.4 (как зависимость для SocketIO-Swift-Client, устанавливал с помощью Swift Package Manager)
  3. SocketIO (папка Source) распакованная в папку с проектом из ветки master (https://github.com/socketio/socket.io-client-swift/tree/master).

Прикладываю код:

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let manager = SocketManager(socketURL: URL(string: "wss://mysite.ru:1234")!, config: [
            .log(true),
            .forceWebSockets(true),
            .reconnects(true),
            .secure(true)
        ])

        let socket = manager.defaultSocket

        socket.on(clientEvent: .connect, callback: { (data, ack) in
            print("Соединение установлено")
        })

        socket.on(clientEvent: .error, callback: { (data, ack) in
            print("Ошибка соединения")
        })

        socket.on(clientEvent: .ping, callback: { (data, ack) in
            print("Пинг соединения")
        })

        socket.on(clientEvent: .pong, callback: { (data, ack) in
            print("Понг соединения")
        })

        socket.on(clientEvent: .reconnect, callback: { (data, ack) in
            print("Реконнект соединения")
        })

        socket.on(clientEvent: .statusChange, callback: { (data, ack) in
            print("Смена статуса соединения")
        })

        socket.on(clientEvent: .websocketUpgrade, callback: { (data, ack) in
            print("Апгрейд")
        })

        socket.connect()
    }
}

Вот что выдаёт консоль:

2023-05-21 10:18:42.945624+0300
ExperementalApp[15475:2707089] LOG SocketIOClient{/}: Adding handler for event: connect

2023-05-21 10:18:42.946037+0300
ExperementalApp[15475:2707089] LOG SocketIOClient{/}: Adding handler for event: error

2023-05-21 10:18:42.946314+0300
ExperementalApp[15475:2707089] LOG SocketIOClient{/}: Adding handler for event: ping

2023-05-21 10:18:42.946533+0300
ExperementalApp[15475:2707089] LOG SocketIOClient{/}: Adding handler for event: pong

2023-05-21 10:18:42.946727+0300
ExperementalApp[15475:2707089] LOG SocketIOClient{/}: Adding handler for event: reconnect

2023-05-21 10:18:42.946921+0300
ExperementalApp[15475:2707089] LOG SocketIOClient{/}: Adding handler for event: statusChange

2023-05-21 10:18:42.947101+0300
ExperementalApp[15475:2707089] LOG SocketIOClient{/}: Adding handler for event: websocketUpgrade

2023-05-21 10:18:42.947270+0300
ExperementalApp[15475:2707089] LOG SocketIOClient{/}: Adding handler for event: message 2023-05-21 10:18:42.948363+0300 ExperementalApp[15475:2707089] LOG SocketIOClient{/}: Handling event: statusChange with data: [connecting, 2] СТАТУС ИЗМЕНИЛСЯ

2023-05-21 10:18:42.949233+0300
ExperementalApp[15475:2707089] LOG SocketIOClient{/}: Joining namespace /

2023-05-21 10:18:42.949885+0300
ExperementalApp[15475:2707089] LOG SocketManager: Tried connecting socket when engine isn't open. Connecting

2023-05-21 10:18:42.953197+0300
ExperementalApp[15475:2707089] LOG SocketManager: Adding engine

2023-05-21 10:18:42.956327+0300
ExperementalApp[15475:2707089] LOG SocketManager: Manager is being released

2023-05-21 10:18:42.956386+0300
ExperementalApp[15475:2707157] LOG SocketEngine: Starting engine. Server: wss://mysite.ru:1234

2023-05-21 10:18:42.956589+0300
ExperementalApp[15475:2707157] LOG SocketEngine: Handshaking

2023-05-21 10:18:42.956669+0300
ExperementalApp[15475:2707089] LOG SocketIOClient{/}: Client is being released

2023-05-21 10:18:43.023025+0300
ExperementalApp[15475:2707160] LOG SocketEngine: Engine is being released

Ответы

Ответов пока нет.