51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5322|回复: 18
打印 上一主题 下一主题

[原创] LR能否模拟服务器,并发的向客户端发送消息??

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-8-9 11:13:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wower1985 于 2011-8-22 23:35 编辑

LR模仿服务器,监听一个本地端口,然后客户端程序来和服务器建立连接,连接建立之后,服务器就向客户端
发送数据,能否模拟并发的给客户端发送数据???
由于LR模拟服务器,监听一个固定的服务端口,肯定不能像我们常做的,并发多少个就设置多少个用户了,。。。此时我们是服务器,。。设置用户显然模拟了多个服务器。。显然不对。。

请问高手有什么高招??


最近换了一种方法实现了,请看第二页回复。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-8-9 18:00:36 | 只看该作者
LR可以模拟服务器吗?这个真没听说过。呵呵。。楼主看过 刀戟戡魔录
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2011-8-9 22:41:07 | 只看该作者
本帖最后由 wower1985 于 2011-8-9 22:44 编辑

回复 2# zhang.yuandong

刀戟到没看,老剧没补过,从刀龙传说看的。

再说那个问题,开发人员开发了个客户端程序,程序接受服务器(服务器实际上是很多发消息的设备)发送来的消息,所有就要模拟一次发很多数据给客户端,LR设置用户好像弄不了了????
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-8-9 22:48:23 | 只看该作者
我做过模拟本地监听的,lr winsocket协议里可以实现,写类似这样的函数就成
lrs_create_socket("socket0","TCP","LocalHost=127.0.0.1:5555","Backlog=50",LrsLastArg );
lrs_accept_connection("socket0","socket1");
lrs_receive("socket1", "buf1", LrsLastArg);
...
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2011-8-9 23:22:01 | 只看该作者
我以前用LR模拟过本地监听,可以用WinSocket协议,用下面的几个函数就可以了:
lrs_create_socket("socket0", "TCP", "LocalHost={Param_port}", "Backlog=20",  LrsLastArg);
lrs_accept_connection("socket0","socket1");
lrs_receive("socket1", "buf10", LrsLastArg);
......
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2011-8-10 11:12:43 | 只看该作者
可以啊,

向开发要服务器客户端的交互报文,让开发把客户端的服务器改成LR客户机的地址,模拟下就OK了

多用户并发发送报文,IP是固定的LR的IP,没啥问题啊,
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2011-8-10 11:14:35 | 只看该作者
报文如果不好解决的话,可以用LR建个代理,让服务器改客户端IP为LR的IP,先有LR接收数据,然后转发到客户端

模拟数据就出来了,后续就可以处理了。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2011-8-10 11:55:15 | 只看该作者
回复 6# v522zy


IP 是没问题,但是多用户并发,监听的端口号(服务器端口号肯定固定)就有问题了,端口号只能给一个虚拟用户,第二个就说端口号被占用。。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2011-8-10 12:00:05 | 只看该作者
回复 5# dionysus


恩,就是这样的,但是端口号是个问题,服务器程序监听端口号固定,2个用户就会说端口号被占用了,。。。
。。。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2011-8-10 13:44:53 | 只看该作者
本帖最后由 v522zy 于 2011-8-10 13:46 编辑

回复 8# wower1985

你现在是向客户端加负载,你只要确定客户端的端口就OK了,服务器端口固定已经跟你没关系了

现在是使用LR模拟服务器,本机端口都可以使用,

如果客户端对服务端端口有校验,可以联系开发,把端口限定一个范围,比如10000~60000,不过客户端校验服务器数据的事情,少见,但都是可以解决的,
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2011-8-10 14:27:16 | 只看该作者
回复 10# v522zy

这种可行,叫开发吧监听端口改成一个范围。

回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2011-8-10 19:37:44 | 只看该作者
回复 10# v522zy


    这个可行,找开发的搞了一通,让他们改了,
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2011-8-10 23:22:55 | 只看该作者
同意,将本机端口参数化,取一个范围就成了,LR每个并发监听本地一个端口。让服务器端根据一定规则向客户端不同端口发起通信。

回复  wower1985

你现在是向客户端加负载,你只要确定客户端的端口就OK了,服务器端口固定已经跟你没关 ...
v522zy 发表于 2011-8-10 13:44
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2011-8-11 11:03:25 | 只看该作者
回复  v522zy


    这个可行,找开发的搞了一通,让他们改了,
wower1985 发表于 2011-8-10 19:37



   

恩,可行就好,\(^o^)/
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2011-8-15 09:27:16 | 只看该作者
北漂测试群:141528110
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2011-8-15 09:27:22 | 只看该作者
北漂测试群:141528110
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2011-8-19 12:04:32 | 只看该作者
上面的回答不错!!
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2011-8-22 07:19:08 | 只看该作者
好多霹雳迷哦,哈哈。。。其实我也不太懂LZ说的
回复 支持 反对

使用道具 举报

该用户从未签到

19#
 楼主| 发表于 2011-8-22 16:11:33 | 只看该作者
最近尝试了这种方法,修改发送的数据,来实现同时发送




这个时候还要把参数给值方式设置成“每次发生”。哈哈,要不发送的都是一样的,就没意思了。
这样并发用户设置成一个,但是还是同时发送多个不同的数据个每个终端,也许比修改程序监听端口为范围方式好。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-16 09:44 , Processed in 0.077012 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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