Как получить данные после успешного подключения к socket.io?

#swift #sockets #socket.io

#swift #сокеты #socket.io

Вопрос:

Я новичок в Socket.Ввод-вывод и не знаю, как получить данные после установления соединения с socket.

Сокет.У ввода-вывода есть следующие вещи

1) URL

2) Путь

Пожалуйста, взгляните на прикрепленное изображение.

Мне нужен очень простой пример, как подключить iOS swift к socket IO и как я могу считывать данные из сокета.введите описание изображения здесь

 var manager = SocketManager(socketURL: URL(string: "url")!, config: [.log(true), .compress,.path("path"),.connectParams(["authorization":"token"])])
var socket = manager.defaultSocket
socket.on("connected") {data, ack in
        print("socket connected")
        print(socket.status)
}
  

Он печатает подключенные сокеты, но не знает, как обрабатывать дальше. Как получить conversationList? Буду очень благодарен за это.

Ответ №1:

Итак, таблицы — это список событий, которые вы должны прослушать. conversationsList и messagesList являются особым случаем, потому что они двунаправленные (что означает, что вы должны их как отправлять, так и получать. Я понимаю их как цепочку. Вы будете выдавать conversationsList только при подключении. Таким образом, возможным решением было бы:

 var manager = SocketManager(socketURL: URL(string: "url")!, config: [.log(true), .compress,.path("path"),.connectParams(["authorization":"token"])])
var socket = manager.defaultSocket
socket.on("connected") {data, ack in
    print("socket connected")
    print(socket.status)
    socket.emit("conversationsList", ["page": 1])
}

socket.on("conversationsList") {data, ack in
    print("Conversations List received")
    socket.emit("messagesList", ["conversation": "conversation_id", "page": 1])
    print(data)
}
  

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