TCP基于字节流是如何实现多文件传输的?

前几天面试,遇到一个问题,如何使用TCP设计一个批量文件传输系统。

由于TCP是基于字节流的,那么服务端收到源源不断的字节流之后,如何对字节流进行区分,从而还原成不同的文件?

也就是说,应用层的进程如何区分哪些字节是属于文件1,哪些字节是属于文件2的?

自己定义包序号,收到后按序号重新合并

你需要自己定义一种协议格式,每个文件的文件名,文件长度,以及真正的内容。接收端根据前两者来判断真正内容中多少字节属于哪个文件