Как отправить массив объектов через единый websocket запрос на отправку с храповиком? - PullRequest
1 голос
/ 16 апреля 2020

Например, в настоящее время я должен l oop для каждого объекта и Stringify параметров объекта, отправляя отдельное сообщение для каждого объекта в массиве. Это делает процесс действительно медленным и вызывает некоторые проблемы с синхронизацией между пользователями. Как я могу зачеркнуть и отправить все мои объекты сразу и проанализировать результат?

Клиент - javascript, и сервер использует храповик для php.

   for (let i = circles.length - 1; i >= 0; i--) {

                if (connected) {
                    websocket_server.send(
                        JSON.stringify({
                            'type': 'circleData',
                            'user_id': circles[i].user,
                            'i': i,
                            'x': circles[i].x,
                            'y': circles[i].y,
                            'r': circles[i].r,
                            'c': circles[i].c,
                        })
                    );
                }

            }

1 Ответ

0 голосов
/ 17 апреля 2020

Неважно, я идиот. Просто структурируйте массив объектов. Когда он выйдет на другой конец, это будет массив объектов, но он больше не будет связан с классом. Таким образом, вам нужно использовать данные массива объектов для перестройки объектов при получении, чтобы использовать методы объекта. Если у кого-то есть лучший способ связать данные с классом, кроме воссоздания объектов, дайте мне знать.

 websocket_server.send(     JSON.stringify({
                            'type': 'circleData',    
                            'obj_array': circles,
                            })
                      );

Редактировать:

Это решение для переназначения прототипа класса должно работать:

Повторное связывание объекта с его классом после десериализации в Node.js

...