WebSocket如何在线测试 兼容IE6、IE7
websocket是html5里的新协议,可以很方便的用socket直接连接服务器,进行数据的实时推送和接收,适合数据实时性要求高的环境,那么在低版本的ie浏览器中,是不支持html5的websocket的。那么如何让低版本的ie浏览器支持呢,比如IE6、IE7或IE8?
工具/原料
电脑
浏览器
方法/步骤
首先打开任意一种浏览器,在地址栏里面输入参考资料里的地址
进入界面后,直接点击“连接”按钮,进行websocket在线连接测试。
当连接成功后,消息窗口会显示“连接服务器成功!正在等待数据...”
然后在发送的内容框中,随便输入测试的字符,点击发送。
在消息窗口显示刚才发送的内容,说明服务器已经接收到你发送的数据。
井通区块链Api订阅服务介绍
本节介绍井通区块链标准接口的订阅服务功能。
为了减少前端软件的复杂度,井通区块链标准接口(REST API)提供了井通钱包地址的websocket长连接服务。前端软件可以通过 websocket连接向标准接口订阅和井通地址相关的交易信息。一旦订阅成功,任何和该地址相关的交易信息将会通过相应的 websocket连接传给订阅客户端。
REST API订阅后台服务器的测试环境是: wss://tapi.jingtum.com:5443/v2 。
由于订阅功能是采用websocket实现的,因此要测试订阅功能,可以采用websocket在线测试工具。 这里推荐一款比较好用的websocket在线测试工具: http://ws.douqq.com/ 。 另外,由于websocket返回的都是JSON格式的数据,比较难以阅读,可以采用JSON在线解析工具。 这里推荐一款好用的JSON在线解析工具: https://www.bejson.com/ 。
例子:
1)在浏览器里面打开 http://ws.douqq.com/ 网站。
2)在ws链接输入框里面输入 wss://tapi.jingtum.com:5443/v2 ,点击后面的“连接”按钮。 3)如果不出意外,就会连接上订阅服务器。如下如所示:
如果写程序调用,连接订阅服务器后,就可以实现自动化处理订阅请求的返回消息。
1)客户端连接上订阅服务器后,就可以向服务器发起订阅请求。订阅请求格式如下:
订阅请求中,必须将订阅用户的钱包地址和订阅类型一起提交上来。 参数type表示订阅类型,包含3种: account:订阅某个账号的交易记录、 transactions:订阅所有交易记录、
ledger:订阅账本消息
订阅成功之后,返回:
一旦订阅成功,这个订阅状态就会一直持续,直到客户端取消订阅,或者关闭订阅。如果由于网络原因,导致订阅失效,也 需要重新订阅。
当请求的JSON格式不对时,返回:
当请求的参数有问题时,返回:
error包括缺少account,type,account格式不对,type格式不对等,分别是: 1.missing account 2.account is not valid jingtum address
3.invalid type,......
客户端订阅了钱包的交易消息,然后向该钱包发送支付交易,客户端可以收到如下的交易信息:
基本格式为:
account: 帐号,订阅的井通钱包地址。
type: 交易类型,与API里面的信息一致,主要有Payment、OfferCreate、OfferCancel和RelationSet transaction: 交易信息,与API里面的信息一致。
在用户被动成交时,用户也会收到交易相关的信息。
当交易失败时,会有如下的格式的消息:
通过success可以判断返回的交易结果是成功的还是失败的,其他的失败记录均即时反馈回给用户,无需在订阅中获得。
取消订阅成功时候,返回:
当请求的JSON格式有问题时,返回:
当请求的参数不正确时,返回:
取消订阅,参数不正确主要是account缺失或者格式不正确: a)account is missing b)Invalid type 等
如何测试webrvice和websocket接口
您好:WebSocket是html5新增加的一种通信协议,目前流行的浏览器都支持这个协议,例如Chrome,Safari,Firefox,Opera,IE等等,对该协议支持最早的应该是chrome,从chrome12就已经开始支持,随着协议草案的不断变化,各个浏览器对协议的实现也在不停的更新。该协议还是草案,没有成为标准,不过成为标准应该只是时间问题了,从WebSocket草案的提出到现在已经有十几个版本了,目前最新的是版本17,所对应的协议版本号为13,目前对该协议支持最完善的浏览器应该是chrome,毕竟WebSocket协议草案也是Google发布的。
1. WebSocket API简介
首先看一段简单的javascript代码,该代码调用了WebSockets的API。
[javascript] view plaincopy
var ws = new WebSocket(“ws://echo.websocket.org”);
ws.onopen = function(){ws.nd(“Test!”); };
ws.onmessage = function(evt){console.log(evt.data);ws.clo();};
ws.onclo = function(evt){console.log(“WebSocketClod!”);};
ws.onerror = function(evt){console.log(“WebSocketError!”);};
这份代码总共只有5行,现在简单概述一下这5行代码的意义。
第一行代码是在申请一个WebSocket对象,参数是需要连接的服务器端的地址,同http协议使用http://开头一样,WebSocket协议的URL使用ws://开头,另外安全的WebSocket协议使用wss://开头。
第二行到第五行为WebSocket对象注册消息的处理函数,WebSocket对象一共支持四个消息 onopen, onmessage, onclo和onerror,当Browr和WebSocketServer连接成功后,会触发onopen消息;如果连接失败,发送、接收数据失败或者处理数据出现错误,browr会触发onerror消息;当Browr接收到WebSocketServer发送过来的数据时,就会触发onmessage消息,参数evt中包含rver传输过来的数据;当Browr接收到WebSocketServer端发送的关闭连接请求时,就会触发onclo消息。我们可以看出所有的操作都是采用消息的方式触发的,这样就不会阻塞UI,使得UI有更快的响应时间,得到更好的用户体验。
如何使用WebSocket做接口测试?
如果遇见了一个全新的协议,怎么从零开始,完成接口测试?以 WebSocket 为例。
WebSocket 协议在2008年诞生,2011年成为国际标准。现在所有浏览器都已经支持了。WebSocket 的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话。
WebSocket 的其他特点:
1. 建立在 TCP 协议之上,服务器端的实现比较容易。
2. 与 HTTP 协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服务器。
3. 数据格式比较轻量,性能开销小,通信高效。
4. 可以发送文本,也可以发送二进制数据。
5. 没有同源限制,客户端可以与任意服务器通信。
6. 协议标识符是ws(如果加密,则为wss),服务器网址就是 URL。
· ws–>http(未加密) 无证书
· wss–>https(加密) 有证书
第一步:
很多时候第一反应向开发工程师求助,因为开发工程师基于新协议已经完成了接口开发,向开发工程师求助显然是最好的办法。找到一些学习脉络,包含了协议的说明文档、代码开发文档、实现代码等内容,了解协议的原理。向开发求助是个方法。
那么 WebSocket 用 Fiddler 怎么搞定?,其实主要就是修改了 Fiddler 中 Rules 下的 Customize Rules,如果感兴趣可以自己去搜一下。当面对陌生技术问题的时候,应该使用最熟悉的技术去尝试解决问题。虽然 Fiddler 截获 WebSocket 接口的办法,所截获的全部消息都在日志里面,根本无法操作。但是,可以借助 Fiddler 分析 WebSocket 的接口,一开始给 Fiddler 这款工具的定位一样,那就是通过它辅助分析我们的被测接口。处理HTTP、HTTPS,推荐用Fiddler。
但是在处理TCP,UDP 就用WireShark。Websocket是应用层协议,建立在 TCP 协议之上,服务器端的实现比较容易。因为应用层是在传输层的基础上包装数据,所以我们还是从底层开始了解Websocket到底是个啥?是如何工作的?
可以通过---- wireshark(网络封包分析软件)抓包工具抓到WebSocket接口
wireshark下载地址:https://www.wireshark.org/download.html
以下是python实现的websocket 接口连接。
如何测试websocket连上持续发送几分钟消息
30分钟。可以通过多线程的方式,启动多个线程,来测试多少个长连接可以同时在线,如何测试websocket连上持续发送30分钟消息,测试WebSocket可以同时保持多少个连接30分钟不断开,如有断开并统计断开次数思路。