求教:网络数据包的打包

changsn 2012-04-18 12:08:39
如果用INDY的UDP,大家是如何讲数据包打包,然后发送的?用什么方式好呢?
用数组,读取数组头来判断消息类型,服务器做出相应出来,还有什么方法呢?
...全文
67 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mhhaifeng 2012-04-18
  • 打赏
  • 举报
回复
自己定义协议
一般可以这样 协议类型(int类型即可) 数据长度(int类型即可) 用户唯一标识(可网卡号,可用户ID)
如果要分包发差处理 还要加个 包序号 每个包的大小最好一样 后面 你要发送的数据
蓝色光芒 2012-04-18
  • 打赏
  • 举报
回复
简单地讲,每个数据前面加一个关键字,用来确实该数据包由哪个过程进行相应,
比如:1就用 LogonProc处理,2-就用ChangePass相应 and more...
这样就建立对应关系了,至于操作上,可以用PAnsiChar和Move/CopyMeory来完成,也可以简单地用AnsiString,这个需要些技巧,不过用好了很省事,可以不用GetMem,FreeMem,两片内存相加直接用S1+S2,很省事,不过有些注意事项,比如,常量字符串,写内存要出错。用AnsiString时要用大量的内存强转,还是要认真才行
早安您好 2012-04-18
  • 打赏
  • 举报
回复
新手路过,现在正在学习com口的通讯,udp什么的也学习下

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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