yEnc 用于二进制 websocket 数据
Posted
技术标签:
【中文标题】yEnc 用于二进制 websocket 数据【英文标题】:yEnc for binary websocket data 【发布时间】:2011-05-23 15:25:24 【问题描述】:目前你只能通过websockets传输原始文本数据,但是这样传输数字不是很浪费吗?
我读到一些应用程序使用 base64 编码,但我也记得这会给您的数据增加相当多的开销。
所以我的问题:
使用 yEncoding 比 base64 更好吗? 我是否应该为常规号码打扰他们中的任何一个?【问题讨论】:
【参考方案1】:不要过早优化。除非您要传输大量数字(即每秒很多 MB),否则只需将您的数字作为字符串发送。进行特殊编码将以 CPU 为代价(在两端)为您节省带宽。
在 noVNC 中,我使用 base64 来通过 WebSocket 传输二进制数据。这将原始二进制的带宽增加了 33%(不幸的是,在 API 公开二进制接口之前是必需的),但我仍然可以获得良好的性能,并且每秒传输许多 MB。所以道德是,在你有充分的理由之前不要优化。首先使用简单直接且设计良好的解决方案,然后在您有真正理由这样做时进行优化。
【讨论】:
以上是关于yEnc 用于二进制 websocket 数据的主要内容,如果未能解决你的问题,请参考以下文章
从 Tomcat 9 到客户端的 Websocket 二进制消息拆分为 2 个或更多 tcp 数据包