【发布时间】:2014-04-15 10:21:10
【问题描述】:
来自 Websocket 的RFC6455, 控制帧可能与碎片帧交错。
我不明白它的必要性,因为它使发送和接收部分的设计更加复杂。
目前,控制框可以是“Close”、“Ping”和“Pong”(其他都保留)。
如果控制帧是“关闭”,那么接收分片的结束是没有用的,所以不需要交错(分片方可以只发送“关闭”操作码并停止发送更多的分片,因为你是在“关闭”之后不应该发送任何东西)。
如果控制帧是“Ping”或“Pong”,则没有任何意义。分片端正在向客户端发送数据,那么如果客户端还活着,为什么它会要求 ping 客户端(它已经在发送系统调用中具有此信息)?还是立即回复 ping,因为它实际上是在向客户端发送数据?
那么,为什么我们需要这种(交错控制帧的)机制呢?
【问题讨论】: