在linux下利用网络进行通信时,会涉及到客户端与服务器端的信息传输。
在传输较大的文件,或无法一次性传输完的文件,可以通过先构建命令行
标识符#信息1#信息2#信息3
可以使用sprintf实现简单构建。
int sprintf( char *buffer, const char *format [, argument] ... );
由发送端告诉接收端需要传输的文件的大小与格式。这样在进行接收传输内容时,不仅可以简单控制接收的大小,同时可以验证文件传输的完整性。
而后通过结构体进行数据发送,解决传输中的粘包问题。
typedef struct {
char result[50];
} Result;
在发送完命令行后最好延时sleep(1)
来实现接收缓冲区命令行与结构体内容的分割。