找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4581|回复: 5

求助关于ACE6.0二进制数据的接收

[复制链接]
发表于 2012-10-18 12:20:28 | 显示全部楼层 |阅读模式
本帖最后由 hyangl 于 2012-10-18 12:23 编辑

前端是windows下开发,使用ACE_Asynch_Read_Stream将数据的读到ACE_Message_Block中去
因为数据流是二进制的
发现发送的部分值为0x0A的值读出来时会自动转义为0x0D 0x0A
请问这个应该在哪里进行设置修改,保证二进制数据读取
发表于 2012-10-18 12:40:14 | 显示全部楼层
我认为是你程序的错误,自己仔细检查一下数据的边界处理部分的代码。ACE不会随便转义、修改要发送的数据。
 楼主| 发表于 2012-10-18 19:09:38 | 显示全部楼层
winston 发表于 2012-10-18 12:40
我认为是你程序的错误,自己仔细检查一下数据的边界处理部分的代码。ACE不会随便转义、修改要发送的数据。 ...

我用别的tcp server仿真程序得到的数据是正确的
但是我用ACE_Asynch_Read_Stream读到的已经做过转义的
就是想请教一下会不会有什么地方设置有问题
发表于 2012-10-18 22:53:11 | 显示全部楼层
hyangl 发表于 2012-10-18 19:09
我用别的tcp server仿真程序得到的数据是正确的
但是我用ACE_Asynch_Read_Stream读到的已经做过转义的
就 ...

如果不用CDR,就没有地方会对数据进行格式处理。CDR只是默认16位对齐而已。
我相信是你自己的代码问题。
发表于 2012-10-19 15:05:35 | 显示全部楼层
刷新,冲掉垃圾广告标题。
发表于 2012-11-15 06:11:44 | 显示全部楼层
"发现发送的部分值为0x0A的值读出来时会自动转义为0x0D 0x0A" not possible, if you're sure the data is sent/recv as char[] only.
most likely you sent/revc some ints over the network....
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-5-2 11:14 , Processed in 0.016574 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表