一个关于UDP通信编码的问题!请大家一定要帮忙亚!谢谢!

sokaki 2004-11-11 01:32:32
关于UDP通信的问题我不是很明白,我现在要发送一些16进制得数(0123...F)这些数是在编辑框里手工输入的,我个人觉得直接把他们作为一个字符串发送出去,接收端也能收到(0123...F)一模一样的数据,但我的领导告诉我说要先把16进制得数0转化成0x30,1转化成0x31这样的AscII码,再把它们两个两个作为一组生成birnary类型发出去(3031 生成 01)这样的数据送出去!

我想问各位一下,这样做有道理吗?用什么代码能实现这种转化!
如果好用的话,转化完后,不是也以字符串的形式发出去吗!怎么发送亚!
...全文
220 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
kokoro 2004-12-01
  • 打赏
  • 举报
回复
我看上面的人都会。
sokaki 2004-12-01
  • 打赏
  • 举报
回复
遗憾!
sokaki 2004-11-26
  • 打赏
  • 举报
回复
没人会吗?
sokaki 2004-11-23
  • 打赏
  • 举报
回复
我笨,不好意思!如果我有一组数据0123456789ABCDEF
领导叫我用二进制发送,请问我应该怎么做!
int sendto (
SOCKET s,
const char FAR * buf,
int len,
int flags,
const struct sockaddr FAR * to,
int tolen
);
我想知道buf李怎么存储!

用二进制发送后,接收端收到的数据是什么样子的!
int recvfrom (
SOCKET s,
char FAR* buf,
int len,
int flags,
struct sockaddr FAR* from,
int FAR* fromlen
);
guishuanglin 2004-11-19
  • 打赏
  • 举报
回复
楼上说的是啊
sokaki 2004-11-15
  • 打赏
  • 举报
回复
大家有这方面的经验马?
jinhaiwu 2004-11-15
  • 打赏
  • 举报
回复
用字符串发没问题,你想的问题,做indy控件的人都想到了,分包都不用你分,最多你自己加校验码保证安全。
huaqglxy2004 2004-11-15
  • 打赏
  • 举报
回复
用UDP发送的是二进制数据!
sfengnet 2004-11-15
  • 打赏
  • 举报
回复
用二进制的比较好,毕竟能有一定的道理的
free1688 2004-11-15
  • 打赏
  • 举报
回复
这么多的提示,我就不再重复了,只等接分。
皮鲁 2004-11-15
  • 打赏
  • 举报
回复
二进制发送!!
定制自己的数据包格式,把待发送的信息压成二进制格式,读的时候解包,按格式取出信息
shadowstar 2004-11-15
  • 打赏
  • 举报
回复
直接用字符串发送出去就行啦,用手工输入的嘛,能有多大?
sokaki 2004-11-12
  • 打赏
  • 举报
回复
我想知道
他说的这种情况到底会不会发生!
铖邑 2004-11-11
  • 打赏
  • 举报
回复
如果数据量大,转换成binary可以节约带宽。
如果不存在这个问题,就不需要了
sokaki 2004-11-11
  • 打赏
  • 举报
回复
是马?
那最后转换成16进制后,不还是3F44DC4264F5
还把它们作为字符串发送!
ktcserver 2004-11-11
  • 打赏
  • 举报
回复
首先,你必须将你的字符串分解成为两个为一个单位的字符串,例如:3F44DC4264F5
分解为:3F 44 DC 42 64 F5 然后,在将其字母换算为A=10 B=11 C=12 .... F=15
然后累加成为<255的整数,然后将这个整数换算成为16进制数就可以啦。
特招 2004-11-11
  • 打赏
  • 举报
回复
up

1,317

社区成员

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

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