【问题标题】:How to send an array of objects through a single websocket send request with ratchet?如何使用棘轮通过单个 websocket 发送请求发送对象数组?
【发布时间】:2020-04-16 20:04:13
【问题描述】:

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

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

            }

【问题讨论】:

    标签: javascript php websocket ratchet


    【解决方案1】:

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

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

    编辑:

    这个重新分配类原型的解决方案应该可以工作:

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

    【讨论】:

      猜你喜欢
      • 2021-07-23
      • 2020-09-09
      • 1970-01-01
      • 2018-05-23
      • 1970-01-01
      • 2017-01-09
      • 2018-05-26
      • 1970-01-01
      • 2017-05-19
      相关资源
      最近更新 更多