当前位置: 技术问答>linux和unix
socket编程中一个还没想明白的问题!希望得到高手的帮助!
来源: 互联网 发布时间:2015-02-11
本文导语: 在 客户端--服务端 没有约定发送数据大小的情况下,作为客户端rev()函数中的参数buf怎么定?客户端不知道接收数据的长度,定长了浪费,定短了数据丢失!有仕么办法在调用rev()之前知道接收数据的长度? | ...
在 客户端--服务端 没有约定发送数据大小的情况下,作为客户端rev()函数中的参数buf怎么定?客户端不知道接收数据的长度,定长了浪费,定短了数据丢失!有仕么办法在调用rev()之前知道接收数据的长度?
|
最简单的就是用下面的数据结构套一下
struct PACKE
{
int flag; //比如可以指定0xA5A5
int len;
char data[MAX_DATA_NUM];
};
如果以0xA5A5开始,就认为数据开始,通过len的长度指定数据的大小
struct PACKE
{
int flag; //比如可以指定0xA5A5
int len;
char data[MAX_DATA_NUM];
};
如果以0xA5A5开始,就认为数据开始,通过len的长度指定数据的大小