Xray-core
Xray-core copied to clipboard
Mux.Cool writeMetaWithFrame
write.go 中源码如下: mb2 := make(buf.MultiBuffer, 0, len(data)+1) mb2 = append(mb2, frame) mb2 = append(mb2, data...) return writer.WriteMultiBuffer(mb2)
问题是 frame 中并没有包括data(缓冲)的个数,那对端如何判断frame后的哪些data,哪个是数据,哪个是新的frame呢? client端收到大文件传输的数据中,很多data中莫名多出几个keep frame,除了长度一般都是6(len + 4 bytes),几乎没有其它标志。 如果keep frame 带地址信息长度不是6,怎么判断数据是一个新的frame?