#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)
}
Возможно, вам придется немного изменить способ передачи данных. Но структура должна быть такой.