http://zhidao.baidu.com/question/437336402.html
...这个我看过了 没有完整的代码。
struct INFO
{
int flag;
int number;
int test;
};
定义结构体对象
INFO info;
info.flag = 1; //赋值
info.number = 2;
int test = 3;
//申请缓存
char* SendBuffer = (char*)malloc(sizeof(INFO)+1);
//将数据写入缓存
memcpy(SendBuffer,&info,sizeof(info));
//发送
Ret = send(CientSocket, SendBuffer, (int)strlen(SendBuffer), 0);
使用完
free(SendBuffer);
服务器接收端核心代码:
INFO info;
char* RecvBuffer= (char*)malloc(sizeof(INFO)+1); //缓存
memset(RecvBuffer, 0x00, sizeof(RecvBuffer)); //首先将内存初始化一下,清零
Ret = recv(CientSocket, RecvBuffer, MAX_PATH, 0); //数据接收。
memcpy(&info,RecvBuffer,sizeof(info)); //将数据读入结构体对象
free(RecvBuffer);
下面一个Udp完整例子你参考参考,做些修改就行了,
客户端发送时将结构体数据拷贝到缓存,作为发送参数
服务端接收将参数存入缓存中,然后将缓存内存拷贝到结构体对象中
http://www.cnblogs.com/lidan/archive/2012/05/04/2482878.html