我在发送邮件到服务器时遇到了一些问题。 它可能发送它们,服务器接收它们,但我不知道如何正确掩盖它们。 我知道这实际上是这样的: http://tools.ietf.org/html/rfc6455#section-5.2 但我不是很了解它。 如果有人可以共享一个完整的伪代码,那么从普通消息到写入缓冲区之前需要完成的事情会很好。 我也在这里搜索了很多信息,但主要是他们建议libs或直接链接。问题是libs很好,但实际上我已经完成了我所需要的一切。只缺少发送掩码。
此致
答案 0 :(得分:0)
你可以发送掩码位关闭的消息吗?
当设置了掩码位时,服务器需要4字节掩码才能显示,并且有效负载是XOR' d
for ( size_t i=0; i<packet_len; i++ ) {
packet[i] = payload[i] ^ mask_bits[i&3];
}
编辑:添加更多细节。
我假设您已完成升级握手,发送到网络进行通信的实际字节为:
[flag][mask_bit, len][extended length][mask][payload]
其中:
例如,发送&#34; Hello&#34;以二进制模式服务器,你可以:
屏蔽的有效负载为:0x48 ^ 0x11,0x65 ^ 0x22,0x6C ^ 0x33,0x6C ^ 0x44,0x6F ^ 0x11,0x00 ^ 0x22 =&GT; 0x59,0x47,0x5F,0x28,0x7E,0x22
整个流是:0x82,0x86,0x11,0x22,0x33,0x44,0x59,0x47,0x5F,0x28,0x7E,0x22