我正在服务器上发送以下数据。

        var loc = {
            type            : 'exloc',
            ms              : this.var1.move,
            ppx             : this.var1.ppx,
            ppy             : this.var1.ppy,
            Name            : "red",
            rid             : this.gv.GlobalInfoHolder.CurrentRoomID
        };


我也可以按照以下格式发送此数据。

 var obj = "type=exloc,ms="+this.var1.move+",ppx="+this.var1.ppx+",ppy="+this.var1.ppy+",Name=red,rid="+this.gv.GlobalInfoHolder.CurrentRoomID;


然后,我可以根据我输入的逗号strip数据。

另一种方法是将对象编码为json,然后将数据发送到服务器并进行解码。

所以我想问问,什么是最好的解决方案?如果有人告诉我如何分析每个变量(包括json解决方案)的字节大小会更好。

我想寻找一个使变量最小的解决方案,如果有人想提出他/她最欢迎的建议,我这样做是为了提高性能和效率。我正在考虑这样做是因为我正在实时工作必须在客户端和服务器之间快速共享数据的游戏(以毫秒为单位)

最佳答案

只需获得一个网络分析器程序(例如免费的Fiddler或可用于同一事物的许多其他许多程序),然后看一看究竟是通过网络发送的是什么。我一直在调试客户端/服务器问题。这确实很容易,并且可以向您确切显示客户端和服务器之间发送的内容。

JSON并不是最有效的存储格式,因此,如果您要优化大小,您可能已经知道这可能不是最佳选择,因为冗余度较低的格式(字段名称的单副本与许多副本)几乎总是会更紧凑。

另外,您应该首先弄清楚这是否重要。如果您的数据总体较小,则40字节和80字节之间的性能差异可能太小,甚至无法在单个客户端上进行测量。另一方面,如果您要传输数千个记录,那么每个记录的大小可能足以产生变化。

10-04 21:20
查看更多