winsock 接收数据 如何区分收到的是结构还是字符串

rokky 2009-03-19 02:21:17
现在在写一个同C做的服务器端通讯的程序,服务器发出的数据是包头(结构,里面包含了后续包的长度,以及一些其他信息)和包文(是字符串),现在问题来了,收到一个包以后,我该怎么才能判断这是包头,还是包文,从而采取相应的处理呢。
...全文
91 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyserver 2009-03-20
  • 打赏
  • 举报
回复
按照C服务器提供的结构定义VB结构,然后使用COPYMEMORY将接收缓冲区复制到该结构中进行数据解析。
arong1234 2009-03-19
  • 打赏
  • 举报
回复
这要判断干吗?你不一开始接收了报头,然后根据报头可以知道数据多少,每个部分的位置你都可以算出来啊,你为什么要判断?
VirtualDesktop 2009-03-19
  • 打赏
  • 举报
回复
你先读取指定长度的byte(长度就是你那结构的sizeof),然后求出后面东西的长度,再读取出特定字节啊
后续的包都是这样类推
jadeluo 2009-03-19
  • 打赏
  • 举报
回复
连接上服务器之后第一次收到的是数据包头, 然后你按数据包结构处理之后接收到的数据。
wlk 2009-03-19
  • 打赏
  • 举报
回复
C的结构发过来也是字符串,按C结构体中每个字段长度截取数据

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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