wsockd: set FIN attribute on all frames, we don't fragment

This commit is contained in:
William Pitcock 2016-04-03 01:40:29 -05:00
parent 6603175304
commit dab623671c

View file

@ -390,6 +390,7 @@ conn_mod_write_short_frame(conn_t * conn, void *data, int len)
ws_frame_hdr_t hdr; ws_frame_hdr_t hdr;
ws_frame_set_opcode(&hdr, WEBSOCKET_OPCODE_BINARY_FRAME); ws_frame_set_opcode(&hdr, WEBSOCKET_OPCODE_BINARY_FRAME);
ws_frame_set_fin(&hdr, 1);
hdr.payload_length_mask = (len + 2) & 0x7f; hdr.payload_length_mask = (len + 2) & 0x7f;
conn_mod_write(conn, &hdr, sizeof(hdr)); conn_mod_write(conn, &hdr, sizeof(hdr));
@ -403,6 +404,7 @@ conn_mod_write_long_frame(conn_t * conn, void *data, int len)
ws_frame_ext_t hdr; ws_frame_ext_t hdr;
ws_frame_set_opcode(&hdr.header, WEBSOCKET_OPCODE_BINARY_FRAME); ws_frame_set_opcode(&hdr.header, WEBSOCKET_OPCODE_BINARY_FRAME);
ws_frame_set_fin(&hdr.header, 1);
hdr.header.payload_length_mask = 126; hdr.header.payload_length_mask = 126;
hdr.payload_length_extended = htons(len + 2); hdr.payload_length_extended = htons(len + 2);