iOS Swift Socket Architecture - PullRequest
       6

iOS Swift Socket Architecture

0 голосов
/ 13 апреля 2019

Мне нужно создать приложение с нуля, это приложение на базе сокетов, поэтому все функции основаны на действиях с сокетами, входе в систему, регистрации, получении бизнес-данных… Архитектура, о которой я думал, это: Starscream для подключения к розетке SocketManager, отвечающий за поддержание соединения с сокетом и обрабатывающий socketData, и несколько протоколов для информирования ответственных viewModels или viewControllers.

Проблема, с которой я столкнулся, заключается в том, что у меня есть одна функция, которая отвечает за получение и обработку сообщений сокета:

    public func treatSocketMessage(message: messageEnum?) {
        guard let action = message else {
            return
        }


    }

protocol SocketDelegate: class {}

protocol DisconnectDelegate: SocketDelegate {
    func socketDisconnected()
}

public enum messageEnum: String {
    case disconnect = "Disconnect"

    func getProtocolType() -> SocketDelegate.Type {
        switch self {
        case .disconnect:
            return 
        }
    }
}

У меня много сообщений, которые сокет может вернуть, и я хотел бы создать по одному делегату для каждого из них. Но я не уверен, как создать такой протокол, и если это лучшее решение для приложений сокетов, как это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...