请教:通讯过程中数据收发得问题,相信你们也碰到过!

Andrionda 2006-11-02 04:53:56
如题:
在数据发送过程中,我们可能需要将一个结构体发送给对方,但发送过程中我们一般是发送一个字符数组(这里不说发结构体).
typedef struct person
{
char name[15];
int age;
......
}pp;
char data_buff[50];
send(socket, data_buff, 50, 0);

所以需要将结构体放入字符数组中
我一般都是: strcpy(data_buff,pp.name);
data_buff[strlen(data_buff) +1] = pp.age;
..........
data_buff[strlen(data_buff) +1] = '\0';
感觉这样做挺麻烦得,不知道大家是怎么实现得?


...全文
122 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andrionda 2006-11-03
  • 打赏
  • 举报
回复
嗯 xpdavis: 那客户端,服务端之间收发数据是都得转化为 char data_buff[50]; 形式得吧?
铖邑 2006-11-03
  • 打赏
  • 举报
回复
struct person a;
recv(socket, &a, sizeof(struct person), 0);

最好不要用结构来传
Andrionda 2006-11-03
  • 打赏
  • 举报
回复
xpdavis 如果按结构体发送得话,可能牵扯到数据类型对齐啊
Andrionda 2006-11-03
  • 打赏
  • 举报
回复
谢谢 xpdavis 得回答.
如果接收得话,该如何接收呢?
铖邑 2006-11-03
  • 打赏
  • 举报
回复
struct person a;
send(socket, &a, sizeof(struct person), 0);

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧