tianlang001 发表于 2015-5-20 15:44:15

socket报文为二进制文件的发送

本帖最后由 tianlang001 于 2015-5-21 12:13 编辑

LR发送socket,报文是一个二进制的文件,UE打开用十六进制显示为

转换为十进制显示为

复制出去就和原数据的长度会不一样,所以无法写入data.ws里

用socket调试工具,直接发送此socket的dat文件是可以成功返回的,所以想在LR中直接发送此文件,大家有没有遇到过此类问题,需要怎么去发送dat文件呢

土土的豆豆 发表于 2015-5-21 10:15:25

用editor之类编辑器去查看 对比 是否修改过 或删除了某些字符,如:空格 引号 分号 逗号等
尽量别动正确格式的文件,哪怕重新保存过一次,也可能会破坏原有报文格式

tianlang001 发表于 2015-5-21 11:59:10

本帖最后由 tianlang001 于 2015-5-21 12:14 编辑

土土的豆豆 发表于 2015-5-21 10:15
用editor之类编辑器去查看 对比 是否修改过 或删除了某些字符,如:空格 引号 分号 逗号等
尽量别动正确格 ...
报文拿不出来,就是一个二进制的.dat文件,打开就是乱码,上面重新编辑了下,以16进制打开的,不能复制,要是以10进制打开,能复制了,可是一旦复制出来就变小了

用下面的代码
    char sendData;
    long file;
    file = fopen("E:\\交易\\sendData.dat","rb");
    fread(sendData,287,1,file);
    fclose(file);
    lrs_save_param_ex("socket0", "user", sendData, 0, strlen(sendData),"ebcdic", "data_param");
运行就显示这个了
Action.c(21): Notify: Saving Parameter "data_param = \x01\x01".
郁闷
高手帮我分析下

页: [1]
查看完整版本: socket报文为二进制文件的发送