求助关于ACE6.0二进制数据的接收
本帖最后由 hyangl 于 2012-10-18 12:23 编辑前端是windows下开发,使用ACE_Asynch_Read_Stream将数据的读到ACE_Message_Block中去
因为数据流是二进制的
发现发送的部分值为0x0A的值读出来时会自动转义为0x0D 0x0A
请问这个应该在哪里进行设置修改,保证二进制数据读取 我认为是你程序的错误,自己仔细检查一下数据的边界处理部分的代码。ACE不会随便转义、修改要发送的数据。 winston 发表于 2012-10-18 12:40 static/image/common/back.gif
我认为是你程序的错误,自己仔细检查一下数据的边界处理部分的代码。ACE不会随便转义、修改要发送的数据。 ...
我用别的tcp server仿真程序得到的数据是正确的
但是我用ACE_Asynch_Read_Stream读到的已经做过转义的
就是想请教一下会不会有什么地方设置有问题 hyangl 发表于 2012-10-18 19:09 static/image/common/back.gif
我用别的tcp server仿真程序得到的数据是正确的
但是我用ACE_Asynch_Read_Stream读到的已经做过转义的
就 ...
如果不用CDR,就没有地方会对数据进行格式处理。CDR只是默认16位对齐而已。
我相信是你自己的代码问题。 刷新,冲掉垃圾广告标题。 "发现发送的部分值为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]