赞
踩
目录
一、WebSocket简介
二、JMeter测试WebSocket接口
三、WebSocket和Socket的区别
最近老被问到WebSocket,突然想到以前大学时上Java课的时候,老师教我们socket连接,一个同学电脑做客户端,一个同学电脑做服务端,当双方消息发送成功,第一次感觉到代码的奇妙~
毕竟抄代码都不利索,哈哈哈哈哈~
接下来将如何测试WebSocket接口总结下来。
一、WebSocket简介
WebSocket是一种网络通信协议,客户端和服务端只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
我们常见的协议是HTTP和HTTPS协议,客户端向服务端发起请求,服务端向客户端返回响应,完成一次请求响应之后就会断开连接。对于金融证券的实时信息、社交网络的实时消息推送、网络直播等需要实时传输数据的情况下,HTTP并不能很好的满足。
HTTP需要客户端向服务端发起请求;WebSocket服务端可以主动向客户端推送信息,客户端也可以主动向服务器发送信息。
一旦WebSocket连接建立后,后续数据都以帧序列的形式传输。在客户端断开WebSocket连接或Server端中断连接前,不需要客户端和服务端重新发起连接请求。
二、JMeter测试WebSocket接口
1、安装WebSocket插件
选项 > Plugins Manager 输入WebSocket,勾选对应插件,点击Apply Changes and Restart JMeter。
该插件包含websocket-api.jar、websocket-common.jar、websocket-client.jar、jetty-http.jar、jetty-io.jar、jetty-util.jar等JAR包。
2、WebSocket相关的取样器
3、构建一个WebSocket接口
一般我们在网上看到的大多HTTP接口,为了方便验证,我从网上找一段Java实现WebSocket实时通讯代码,代码已经放到https://gitee.com/weimenghua/Learn-Java,运行JavaWebApplication即可启动项目,项目启动后即可进行测试。
- 客户端发送内容:http://127.0.0.1:63342/Learn-Java/Java-Web/com/wmh/view/socket.html。
- 服务端发送内容:http://127.0.0.1:9999/wbtest/sendMsg/test_websocket。
4、进行websocket接口测试
选中“线程组”右键 > 添加 > 取样器 > WebSocket Open Connection。
建立WebSocket连接:ws://127.0.0.1:9999/websocket/demo。
选中“线程组”右键 > 添加 > 取样器 > WebSocket Sampler。
发起WebSocket请求:ws://127.0.0.1:9999/wbtest/sendMsg/test_websocket。
我们可以再控制台看到服务端发送内容。
若需在请求完成之后关闭WebSocket连接,可添加WebScoket Close取样器。
相关脚本已放到gitee:https://gitee.com/weimenghua/wei-notebook/blob/master/JMeter/JMeter.jmx
三、WebSocket和Socket的区别
1、socket翻译为套接字,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用以实现进程在网络中通信。
2、WebSocket协议是基于TCP的一种新的网络协议,和http协议一样属于应用层协议,是一种让客户端和服务器之间能进行双向实时通信的技术。
https://www.processon.com/view/link/615eae81e0b34d06f3dcdf4b
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。