51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4509|回复: 0
打印 上一主题 下一主题

[求助] 为什么lr的socket脚本不能取得服务器返回值?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-4-8 14:30:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
10测试积点
本帖最后由 liofz 于 2012-4-8 14:33 编辑

以下是脚本:
#include "lrs.h"

Action()
{
int rc;
rc=lrs_create_socket("socket0","TCP","LocalHost=0","RemoteHost=10.2.9.202:24048",LrsLastArg);
if(rc==0){
   lr_output_message("Socket端口成功链接");
}
else{
   lr_output_message("打开socket端口失败,Error Code: %d",rc);
}
lrs_send("socket0","buf0", LrsLastArg);//发送第一个位长报文
lrs_send("socket0","buf2",LrsLastArg);//发送交易报文
lrs_receive("socket0", "buf3", LrsLastArg);//接收位长报文
lrs_receive("socket0", "buf4", LrsLastArg);//接收交易应答报文
lrs_save_param("socket0","buf2","paramm",0,-1);
lr_output_message("返回报文:%s",lr_eval_string("<paramm>"));
if(strcmp(lr_eval_string("<paramm>"),"交易成功")==0){
  lr_output_message("socket业务成功完成",LR_PASS);  
}
else{
  lr_output_message("socket业务失败",LR_FAIL);
}
lrs_close_socket("socket0");
return 0;
}

交易是一个C/S架构的C#.net软件登录部分,发送报文分为两次,第一次发送一个七位字符串指明交易报文的长度。然后程序XML并解析,解析后进行验证并生成业务验证报文,同样是先发回一个七位字符串指明正文长度,然后发回应答正文。
这个脚本中buf0、buf2均通过监控服务器软件运行日志证实发送成功,软件已经处理。
通过TCP抓包工具证实已经有服务器应答返回。
但是buf3、buf4接收报文均为空,接收0字节且打印报文为空。

请问有什么原因会造成lr不能接收应答?????

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-8 04:51 , Processed in 0.068882 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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