The fix doesn't work properly, unfortunately. There is one more small nuance about message fragmentation. According to
RFC 6455, section 5.4
"A fragmented message consists of a single frame with the FIN bit clear and an opcode other than 0, followed by zero or more frames with the FIN bit clear
and the opcode set to 0
, and terminated by a single frame with the FIN bit set
and an opcode of 0
You always set opcode, however. This leads to abnormal session close initiating by our server websocket library: Code=1002, Reason='Fragment sent but opcode was not 0.
I've tried the following quick fix and it seems to be working:
EncodeDataFrame(i == 0 ? OpCode.Binary : 0, ...
Would you please fix it again and update the NuGeg package? Thank you in advance!