hyangl 发表于 2012-10-18 12:20:28

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

本帖最后由 hyangl 于 2012-10-18 12:23 编辑

前端是windows下开发,使用ACE_Asynch_Read_Stream将数据的读到ACE_Message_Block中去
因为数据流是二进制的
发现发送的部分值为0x0A的值读出来时会自动转义为0x0D 0x0A
请问这个应该在哪里进行设置修改,保证二进制数据读取

winston 发表于 2012-10-18 12:40:14

我认为是你程序的错误,自己仔细检查一下数据的边界处理部分的代码。ACE不会随便转义、修改要发送的数据。

hyangl 发表于 2012-10-18 19:09:38

winston 发表于 2012-10-18 12:40 static/image/common/back.gif
我认为是你程序的错误,自己仔细检查一下数据的边界处理部分的代码。ACE不会随便转义、修改要发送的数据。 ...

我用别的tcp server仿真程序得到的数据是正确的
但是我用ACE_Asynch_Read_Stream读到的已经做过转义的
就是想请教一下会不会有什么地方设置有问题

winston 发表于 2012-10-18 22:53:11

hyangl 发表于 2012-10-18 19:09 static/image/common/back.gif
我用别的tcp server仿真程序得到的数据是正确的
但是我用ACE_Asynch_Read_Stream读到的已经做过转义的
就 ...

如果不用CDR,就没有地方会对数据进行格式处理。CDR只是默认16位对齐而已。
我相信是你自己的代码问题。

winston 发表于 2012-10-19 15:05:35

刷新,冲掉垃圾广告标题。

steven99ca 发表于 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....
页: [1]
查看完整版本: 求助关于ACE6.0二进制数据的接收