socket协议介绍

  本文主要讲述了Socket协议脚本的基础知识和编写方法,让大家能够在短时间内快速掌握简单的Socket协议脚本的编写方法。
  
  1.socket协议介绍
  
  Socket协议有万能协议之称,很多系统底层都是用的socket协议,用处十分广泛。
  
  1.1 Socket通讯方式说明
  
  与socket通讯有两种方式,一种是建立长连接,建立后不停的发送,接收;另一种是建立短连接,即建立连接发送报文,接收报文关闭连接
  
  1.2 Socket协议发送的buf类型介绍
  
  Send buffer类型分为字符串和xml类型
  
  1.3 Socket协议脚本编写前提:
  
  与项目组沟通,确认是否是socket协议,由项目组提供服务器IP和端口号还有socket协议交易的报文发送及接收报文对,及交易接口文档,了解清楚报文的数据长度,参数化字段,结构,代表什么等,了解清楚后进行socket协议脚本的开发。
  
  1.4、Socket协议脚本函数说明及实例:
  
  1)名称 lrs_create_socket();
  
  创建socket连接,添加IP和端口号,如果创建成功返回值为0,反之则返回为非0数值。(对于长连接,建立socket连接放在vuser_init函数中,短连接放在Action中即可) 实例: lrs_create_socket("socket0","TCP","RemoteHost=180.170.150.230:7700",  LrsLastArg);
  
  2)名称 lrs_send();
  
  发送socket请求消息,取缓冲区buf0的报文并发送。
  
  实例: lrs_send("socket0","buf1",LrsLastArg);
  
  3)名称 lrs_receive();
  
  接收socket的响应报文,放置buf1中。
  
  实例:lrs_receive("socket0","buf2",LrsLastArg);
  
  4)名称 lrs_get_last_received_buffer();
  
  获取最后收到的buffer和大小,其中将最后收到的buffer的值赋给RecvBuf变量,将大小赋值给RecvLen。
  
  实例:   lrs_get_last_received_buffer("socket0",&recvBuf,&recvLen);
  
  5)名称 lrs_free_buffer();
  
  为防止内存泄露,释放内存空间。
  
  实例:  lrs_free_buffer(recvBuf);
  
  6)名称 lrs_close_socket();
  
  关闭Socket连接,(对于长连接,关闭socket连接应放在vuser_end函数中)
  
  实例:  lrs_close_socket("socket0");
  
  其他常用的Socket函数:
  
  lrs_set_send_buffer("socket0", sSendPkg, iLenOfPkg );//指定要发送的socket信息
  
  lrs_get_buffer_by_name("buf0", sSendPkg, iLenOfPkg);// 获取收到的buffer和大小
  
  lrs_length_send("socket0","buf0",1,"Size=4","Encoding=1",LrsLastArg);
  
  关联函数:
  
  lrs_save_param_ex("socket0","received","",151,7,"ascii","response");//取指定位置字符串保存到变量,以便判断事务是否成功
  
  lrs_save_searched_string();//在指定位置搜索字符串,将出现的字符串报错到参数中
  
  超时函数
  
  lrs_set_connect_timeout();//设置连接超时时间
  
  lrs_set_recv_timeout();//设置服务器响应超时时间
  
  lrs_set_recv_timeout2();//设置接收超时时间,使系统不去检查回收的内容是否一致
  
  2、Socket脚本编写
  
  2.1 简单划分步骤
  
  这种方法是我无意在一片文章中看到的,总体说来,比较简单。就像把大象放进冰箱一样,总共分三步:
  
  第一步:把冰箱门打开
  
  //建立到服务端的连接
  
  rc =    lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=128.64.64.23:8988", LrsLastArg);
  

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值