在Draft 10中,如果解析数据的过程弄清楚了,这个就更简单了,返回数据的格式和之前接受到的数据格式非常类似,只是你不用生成mask了,头部的其他格式还是一模一样的。
第一个字节还是固定的,是0x81,意义和接受数据的意义一样,第二个字节也是,后七个位表示数据长度,由于没有mask,所以第一位是0;长度的表示方法和接受的标识方法一致,可能用7位表示,也可能用16位表示。
用NodeJS实现如下:
var socketWriter = {
'draft10': function(socket, data){
var frames,
length = new Buffer(data, 'utf8').length;
if(data.length 0x7d){
frames = new Buffer(4);
frames[0] = 0x81;
frames[1] = 0x7e;
frames[2] = length 8;
frames[3] = length & 0xFF;
…