socket定长报文需要测试长度吗

如题所述

第1个回答  2022-10-02
WebSocket就是Socket

Socket是传输层协议

WebSocket是应用层协议(应用层协议有很多,例如http,smtp,等等)

应用层协议是建立在传输层协议之上的,其基本属性有2个:

1是需要保证报文的完整性(也就是报文体的长度,如果是udp协议还要保证报文的顺序)

2是如何编解码(报文的编码类型,常见的例如:multipart,KeyVlaue,Json,xml,或是前20个字节是名字,后4个字节是分数,等等等等)

任何应用层协议都离不开以上两点,即便你自定义一套应用层协议也是如此。

你熟读WebSocket数据帧的定义后,你就会发现,WebSocket对第一个byte的定义是精确到bit上的。其他如http,smtp,或是多数人使用socket自定义的协议,都是精确到byte级别的,而且最小有效报文长度都是几个byte,而WebSocket最小有效报文长度为1个byte。

综上所诉,WebSocket性能最好