CSocket这样自定义收发协议合适吗?可否给各例子

danyajuan 2006-12-03 07:04:52
将消息分为head 和body;
在接收端怎么处理呢?那位可有类似的例子?谢谢
struct info1
{
char type;
int length;//body length

}head;

struct sendData
{
head *p1;
char* p2;//传输的数据
}
...全文
121 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ProgrameMan 2006-12-04
  • 打赏
  • 举报
回复
是的,发送端按什么样的布局发送数据,接收端就应该按照什么样的布局来解析。
danyajuan 2006-12-03
  • 打赏
  • 举报
回复
那就是说我只定义发送端的数据结构就行了?
在接收端从char数组中析出不同的字段?
因为我要根据不同type的数据进行不同的处理
ProgrameMan 2006-12-03
  • 打赏
  • 举报
回复
这么定义是不行的,因为sendData中的成员都是指针的,也就是说,这两个指针所指向的内存不是连续的内存空间。你可以这么做

struct info1
{
char type;
int length;
}head;

struct sendData
{
head p1;
char body[1024];
}

接收端怎么处理呢?

接收端接收到数据后,直接强制类型转换就可以

char buffer[4096] = {0};

int ret = recv(s, buffer,....);

sendData in_data;
memcpy(&in_data, buffer, sizeof(sendData));



18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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