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分鐘不斷開,如有斷開并統計斷開次數思路。