udp socket编程 发送结构体数据怎么写?

需要代码例子想了一天了还不知道怎么写... 需要代码例子 想了一天了还不知道怎么写 展开
 我来答
子非退而结网
2014-11-27 · TA获得超过407个赞
知道小有建树答主
回答量:335
采纳率:68%
帮助的人:228万
展开全部
下面这个,你看看能不能参考
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完整例子你参考参考,做些修改就行了,

  1. 客户端发送时将结构体数据拷贝到缓存,作为发送参数

  2. 服务端接收将参数存入缓存中,然后将缓存内存拷贝到结构体对象中

http://www.cnblogs.com/lidan/archive/2012/05/04/2482878.html

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式