#include "lrs.h"
Action()
{
char *Data;
int Size=0;
int rc=0;
//返回报文是否成功,判断值
int msgOk=-1;
char *position="";
//返回报文是否成功标识
char *passMsg="<pckgsq>0000<"; //需和服务端进行确认是否一定返回该字符串
int receive_code;
memset(&Data,0,8);
//web_set_sockets_option("CLOSE_KEEPALIVE_CONNECTIONS","1");
//建立socket
//rc=lrs_create_socket("socket0","TCP","RemoteHost=132.7.44.237:18003",LrsLastArg);
rc=lrs_create_socket("socket0","TCP","RemoteHost=132.7.41.67:18003",LrsLastArg);
//rc=lrs_create_socket("socket0","TCP","RemoteHost=132.6.40.29:18003",LrsLastArg);
if (0==rc) {
lr_output_message("Socket was successfully created ");
}
else
{
lr_output_message("An error occurred while creating the socket, Error Code: %d",rc);
}
//开始事务
lr_start_transaction("socket_trans");
//发送数据
lrs_send("socket0","buf0",LrsLastArg);
//结束发送
//lrs_disable_socket("socket0", DISABLE_SEND);
//lrs_set_recv_timeout(60,0);
//lrs_set_receive_option(EndMarker,StringTerminator,"</message>");
//lrs_set_recv_timeout(0,0);
// lrs_set_recv_timeout(120,0);
//lrs_set_recv_timeout2(10,0);
//lrs_set_receive_option(EndMarker,BinaryStringTerminator,"\X00");
//接收服务端发回的数据
receive_code=lrs_receive("socket0","buf1",LrsLastArg);
//receive_code=lrs_receive_ex("socket0","buf1","NumberOfBytesToRecv=16",LrsLastArg);
//receive_code=lrs_save_param("socket0","buf1","wtbh",6,50);
//获取最后返回的缓冲区的数据及其长度
lrs_get_last_received_buffer("socket0",&Data,&Size);
//获取passMsg在返回数据的位置
position=(char *)strstr(Data,passMsg);
msgOk=(int)(position-Data+1); //数组下标从0开始,因此加1以符合使用习惯
//保存参数
lrs_save_param_ex("socket0","user",Data,0,417,"ascii","new_parameter");
lrs_free_buffer(Data);
//lr_output_message("The result's size is: %d.",Size);
//lr_output_message("The receive code is: %d.",receive_code);
//lr_output_message("The data socket server give is: %s",lr_eval_string("<new_parameter>"));
//lr_think_time(0.010);
//lr_end_transaction("socket_trans",LR_PASS);
//根据msgOk的值,判断事务是否成功
if (msgOk>0) {
lr_end_transaction("socket_trans",LR_PASS);
}
else
{
lr_end_transaction("socket_trans",LR_FAIL);
}
//结束发送
// lrs_disable_socket("socket0", DISABLE_SEND);
//结束接收
lrs_disable_socket("socket0", DISABLE_SEND_RECV);
//关闭打开的socket
lrs_close_socket("socket0");
return 0;
}
---------data文件--------- ecif03_data.ws
;WSRData 2 1
send buf0 156
"000156<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"
"<message>\r\n"
"<head>\r\n"
"<prcscd>ecif03</prcscd>\r\n"
"</head>\r\n"
"<body>\r\n"
"<custno>115600000000229</custno>\r\n"
"</body>\r\n"
"</message>\r\n"
recv buf1 417
-1
联系客服