LR11 socket通信测试简单分享1

简介:

前一段时间做一个转发工具压力测试,只是提供IP和端口,下面贴出来与大家分享,不足之处还请指正:
  整个脚本写法很简单,大体来说,分三个步骤:
  步骤1:建立到服务器端连接
  rc = lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=127.0.0.1:8808", LrsLastArg);
  注:rc=0则表示建立通讯成功
  步骤2:发送报文和接收报文
  lrs_send("socket0","buf0", LrsLastArg);//往socket0发送buf0的数据
  lrs_receive ("socket0","buf1",LrsLastArg); //将socket0发送返回的数据存放到buf1中
  步骤3:关闭连接
  lrs_close_socket("socket0");//关闭
  到此为止,socket通讯的单次的发送、接收报文基本没有什么问题了,完整源码如下:

define _EOF '#'

include "lrs.h"

Action()
{
char *recvbuf;
int recvlen=0;
int rc;
lr_start_transaction("Trans_socket");//事务
lrs_set_recv_timeout (60,0);//接收超时时间
lr_start_transaction("Conn_socket");
//RemoteHost处填入被测程序所在服务器IP rc = lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=127.0.0.1:8808", 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); //判断socket是否链接成功的事务
lr_rendezvous("集合点");
lrs_send("socket0","buf0", LrsLastArg);
lrs_receive ("socket0","buf1",LrsLastArg);
lrs_get_last_received_buffer ("socket0",&recvbuf,&recvlen);
//判断报文长度是否正确
if(recvlen==304)
lr_end_transaction("Trans_socket", LR_PASS);
else
lr_end_transaction ("Trans_socket", LR_FAIL); //判断返回信息的长度是否正确,recvlen处填入预期返回信息的长度
lrs_close_socket("socket0");
return 0;
}
  data.ws 是报文部分, buf0 100 ,100是指报文的长度,x表示是16进制

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
1月前
|
网络协议 Unix Linux
# 2个类轻松构建高效Socket通信库
本文介绍了一种通过两个类`EpollEventHandler`和`IEpollEvent`构建高效Socket通信库的方法。该库支持TCP、UDP和Unix域套接字,采用I/O多路复用技术(如epoll),提升并发处理能力。通过抽象基类和具体事件类的设计,简化了API使用,便于开发者快速上手。文章还提供了服务端与客户端的实例代码,展示其在实际项目中的应用效果。此Socket库适应嵌入式环境,功能定制性强,有助于减少外部依赖并提升维护效率。
66 13
# 2个类轻松构建高效Socket通信库
|
1月前
|
网络协议 开发者 Python
Socket如何实现客户端和服务器间的通信
通过上述示例,展示了如何使用Python的Socket模块实现基本的客户端和服务器间的通信。Socket提供了一种简单且强大的方式来建立和管理网络连接,适用于各种网络编程应用。理解和掌握Socket编程,可以帮助开发者构建高效、稳定的网络应用程序。
83 10
|
1月前
|
JSON 测试技术 网络安全
Apifox工具让我的 Socket.IO 测试效率翻倍
用了 Apifox 测试 Socket.IO 后,我整个人都升级了!不仅操作简单到令人发指,功能还贼全面,真的是 提升开发效率的神器 !
|
1月前
|
监控 API 开发工具
Socket.IO介绍,以及怎么连接测试Socket.IO接口?
Socket.IO 是一个用于浏览器和服务器间实时双向通信的库,支持低延迟消息传递、跨平台运行及自动重连。文章介绍了其特点与调试需求,并详细说明如何使用 Apifox 工具创建、连接、发送/接收 Socket.IO 事件,以及团队协作和调试技巧。掌握这些技能可提升实时应用开发效率与质量。
|
8月前
|
Python
python socket 简单通信
python socket 简单通信
100 1
|
8月前
|
网络协议 安全 网络安全
网络编程:基于socket的TCP/IP通信。
网络编程:基于socket的TCP/IP通信。
|
10月前
|
Java
Java Socket编程与多线程:提升客户端-服务器通信的并发性能
【6月更文挑战第21天】Java网络编程中,Socket结合多线程提升并发性能,服务器对每个客户端连接启动新线程处理,如示例所示,实现每个客户端的独立操作。多线程利用多核处理器能力,避免串行等待,提升响应速度。防止死锁需减少共享资源,统一锁定顺序,使用超时和重试策略。使用synchronized、ReentrantLock等维持数据一致性。多线程带来性能提升的同时,也伴随复杂性和挑战。
169 0
|
6月前
|
Java 流计算
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
86 1
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
|
6月前
|
网络协议 Linux 应用服务中间件
Socket通信之网络协议基本原理
【10月更文挑战第10天】网络协议定义了机器间通信的标准格式,确保信息准确无损地传输。主要分为两种模型:OSI七层模型与TCP/IP模型。
|
7月前
|
网络协议 Linux 应用服务中间件
Socket通信之网络协议基本原理
【9月更文挑战第14天】网络协议是机器间交流的约定格式,确保信息准确传达。主要模型有OSI七层与TCP/IP模型,通过分层简化复杂网络环境。IP地址全局定位设备,MAC地址则在本地网络中定位。网络分层后,数据包层层封装,经由不同层次协议处理,最终通过Socket系统调用在应用层解析和响应。

热门文章

最新文章

下一篇
oss创建bucket