WebSocketのEchoテスト

WebSocketのエコーテストを行うページを見つけたので、メモしておきます。

URL: https://www.websocket.org/echo.html

ブラウザフォームの中でテストする方法と、その下にローカルにHTMLを持ってきてテストするためのHTMLのコードがあります。

そのコードをちょっとだけ改造して、5回送信するようにしてみました。

↓↓改造したテストコードを埋め込み↓↓

WebSocket Test

CONNECTED

RESPONSE: Request served by 1781505b56ee58

↑↑↑ここまで埋め込み↑↑

埋め込んだコードのソースコード

1<!DOCTYPE html>
2<meta charset="utf-8" />
3<title>WebSocket Test</title>
4<script language="javascript" type="text/javascript">
5 
7var output;
8 
9let count = 0;
10const send = () => {  // function send(){ をこのように書けるっぽい
11  count++;
12  if(count <= 5){
13    doSend("WebSocket rocks " + count);
14  }
15  if(count == 7){
16    websocket.close();
17  }
18}
19 
20function init()
21{
22  output = document.getElementById("output");
23  testWebSocket();
24}
25 
26function testWebSocket()
27{
28  websocket = new WebSocket(wsUri);
29  websocket.onopen = function(evt) { onOpen(evt) };
30  websocket.onclose = function(evt) { onClose(evt) };
31  websocket.onmessage = function(evt) { onMessage(evt) };
32  websocket.onerror = function(evt) { onError(evt) };
33  setInterval(send, 1000);
34}
35 
36function onOpen(evt)
37{
38  writeToScreen("CONNECTED");
39  //doSend("WebSocket rocks");
40}
41 
42function onClose(evt)
43{
44  writeToScreen("DISCONNECTED");
45}
46 
47function onMessage(evt)
48{
49  writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data+'</span>');
50  //websocket.close();
51}
52 
53function onError(evt)
54{
55  writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);
56}
57 
58function doSend(message)
59{
60  writeToScreen("SENT: " + message);
61  websocket.send(message);
62}
63 
64function writeToScreen(message)
65{
66  var pre = document.createElement("p");
67  pre.style.wordWrap = "break-word";
68  pre.innerHTML = message;
69  output.appendChild(pre);
70}
71 
72window.addEventListener("load", init, false);
73 
74</script>
75 
76<h2>WebSocket Test</h2>
77 
78<div id="output"></div>

あと、WebSocketのサーバをRaspberry Pi + Pythonで実装する例を見つけたので、メモっておきます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)