javascript - 如何使用 Ratchet 通过单个 websocket 发送请求发送一组对象?

标签 javascript php websocket ratchet

例如,目前我必须遍历每个对象并字符串化对象参数,为数组中的每个对象发送单独的消息。这使得该过程非常缓慢,并导致用户之间出现一些同步问题。如何一次字符串化和发送我的所有对象并解析结果?

客户端是 javascript,服务器使用 Ratchet 为 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,
                        })
                    );
                }

            }

最佳答案

没关系,我是个白痴。只需将对象数组字符串化。当它出现在另一端时,它将是一个对象数组,但它不再与类相关联。因此,您需要使用对象数组数据在接收到对象时重建对象,以便使用对象方法。如果除了重新创建对象之外,有人有更好的方法将数据与类相关联,请告诉我。

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

编辑:

这个重新分配类原型(prototype)的解决方案应该有效:

Re-associating an object with its class after deserialization in Node.js

关于javascript - 如何使用 Ratchet 通过单个 websocket 发送请求发送一组对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61259084/

相关文章:

php - Yii PHP 应用程序的迁移

php - 学习 PHP : Good examples of "build-this" based lessons?

javascript - 无同源连接策略下的WebSocket安全性

node.js - Node : Distinguish between a reload event and a browser exit with socket event

javascript - JQuery tabs() 方法问题,选项卡创建

javascript - 如果父窗口关闭,如何关闭子窗口?

asp.net - 在 Javascript 中从对象数组创建 HTML 表

javascript - 如何在 laravel TableView Blade 中显示 JSON 中的指定对象值

android - 用于套接字连接的单例或服务

javascript - 元素中心的过渡宽度