有人可以澄清我的误解吗
注意:我没有使用faye,ws节点模块和支持websockets的浏览器,但基于这个SO答案:sending a javascript object through websockets with faye
我有两个问题:
我不知道HTML / Javascript客户端应用程序如何知道两个放置图像的位置..假设客户端为div#div123的背景图像发送了websocket消息(可能有很多位置放置请求的图像)。当客户端从服务器收到消息时,它可能不一定是来自原始呼叫(对于div123),它可能是对div6或div158的响应,或者它甚至可能是来自完全不同的呼叫的响应。 通常,当我打电话给我的服务器;我告诉它查询,然后当它发送响应时,它会发回问题的答案(所以客户端知道答案是什么)。 如何成功处理发送客户端原始二进制数据以同样的方式?
假设我有一个图像(宽度:164px高度:164px)并对其进行base64编码,然后删除"数据:image / png; base64,"在发送给客户端之前,我(大致)有一个长度为2900个字符的字符串。
然而,如果我要将图像数据作为RBGA阵列(0-255,0-255,0-255,0-255)获得每个像素,那么它将是107584 =(164 * 164)* 4长array或430336 =((164 * 164)* 16)字符串长(包括逗号)。我无法想象它在二进制文件中会有多长时间(也许是那些数字乘以8?)。
我已经阅读了建议使用base64编码的SO帖子,然后将其转换为二进制编码,但听起来他们正在创建33%的开销,然后将其转换为更多数字。
我无法想象如何以二进制形式发送不会太慢?