首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何判断插座是否连接?

如何判断插座是否连接?
EN

Stack Overflow用户
提问于 2013-12-10 10:32:28
回答 2查看 428关注 0票数 0

我正在使用HP Loadrunner测试套接字协议程序,现在我向服务器发送了一些十六进制数系统,但我不知道套接字是否连接,我将我的脚本粘贴在下面

代码语言:javascript
复制
#define _EOF '#'
#include "lrs.h"

Action()
{
 char *recvbuf;
 int recvlen=0;
 int rc;
 lr_think_time(1000);
 lr_start_transaction("Trans_socket");
 lrs_set_recv_timeout (1,500);
 lr_start_transaction("Conn_socket");


 rc = lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=192.168.10.110:10001", LrsLastArg);  

 lr_output_message("rc=%d",rc);

    if (rc != 0 ) 
{
    lr_end_transaction("Conn_socket", LR_FAIL);
    lr_end_transaction("Trans_socket", LR_FAIL);
    return 0;
}
    lr_end_transaction("Conn_socket", LR_PASS);  

    lr_rendezvous("trace");

    lrs_send("socket0","buf0", LrsLastArg);

    lrs_receive ("socket0","buf1",LrsLastArg);

    lrs_get_last_received_buffer ("socket0",&recvbuf,&recvlen);

 if(recvlen==58)
     lr_end_transaction("Trans_socket", LR_PASS);
 else
     lr_end_transaction ("Trans_socket", LR_FAIL);

lrs_send("socket0", "buf2", LrsLastArg);

lrs_receive("socket0", "buf3", LrsLastArg);

lrs_send("socket0", "buf4", LrsLastArg);

lrs_receive("socket0", "buf5", LrsLastArg);
lr_think_time(100);

lrs_send("socket0", "buf6", LrsLastArg);
lr_think_time(1000);

lrs_receive("socket0", "buf7", LrsLastArg);
lr_think_time(1000);

lrs_send("socket0", "buf8", LrsLastArg);

lrs_receive("socket0", "buf9", LrsLastArg);

lrs_close_socket("socket0");

return 0;

}

EN

回答 2

Stack Overflow用户

发布于 2013-12-10 12:33:52

,但是我不知道判断套接字是否连接

现在是时候雇佣一位在那里工作过的套接字程序员了。

从loadrunner的角度来看,您的代码中还有一些非常奇怪的约定。在等待代码中的服务器响应时,您似乎将用户思考时间视为延迟,这表明在使用该工具时存在概念性问题。您对集合点的使用是在其常见使用中违反模型的关键指标,该工具用于打破最终用户在不同时间点到达和离开的混乱性质。

票数 1
EN

Stack Overflow用户

发布于 2013-12-11 16:08:58

您可以执行以下操作:

  1. Enable continue on error
  2. Check socket
  3. continue on error

例如

代码语言:javascript
复制
char* peer;
lr_continue_on_error(1);
lrs_create_socket("socket1", "TCP", "LocalHost=0", "RemoteHost=fakehost",  LrsLastArg);
peer =lrs_get_socket_attrib("socket1", REMOTE_ADDRESS );
if (peer == NULL){
    lr_message("Not connected");
}else{
    lr_message("Connected");
}

lr_continue_on_error(0);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20484946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档