为了能让数据传输完整写了一个协议