WebSocketの動作テストのページは、だいたいこんな感じです。
<html>
<head>
<script language="JavaScript">
<!--
var ws = new WebSocket("ws://localhost:8080/");
ws.onopen = openConnection;
ws.onclose = closeConnection;
ws.onmessage = recieveMessage;
window.onunoad = closeConnection;
function openConnection() {
console.log("connected");
}
function closeConnection() {
console.log("closeConnection");
ws.close();
}
function recieveMessage(event) {
console.log("message receive -> " + event.data);
}
function close_click() {
ws.close();
console.log("click closed");
}
function check_click() {
console.log(form.dat.value);
}
function send_click() {
ws.send(form.dat.value);
}
// -->
</script>
</head>
<body>
<h2>Web socket Sample</h2>
<form name="form">
<input type="text" name="dat">
<input type="button" value="close" onclick="close_click();">
<input type="button" value="check" onclick="check_click();">
<input type="button" value="send" onclick="send_click();">
</form>
</body>
</html>
chromeとsafari(両方Mac)で動作確認してあります。
サーバー側は接続のログだけでます。(ほかの出力が必要なら、System.out.printlnで適当に出力してみるとよいとおもいます。)
ServerStarted!!
GET / HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: localhost:8080
Origin: null
Sec-WebSocket-Key1: #/c2 499l N533!Nq}562e
Sec-WebSocket-Key2: 2 n i 6`46F3yi82j r 1P? 5; 0n
HandShakeの動作完了
chromeやsafariでは、JavaScriptの動作ログを出すと、console.logで出力できるようにしてあります。
connected
message receive -> 1234
message receive -> hello
message receive -> こんにちは〜
click closed
closeConnection
エコーがかえってくるので、こんな感じになります。
もちろん日本語も問題なく動作しました。
最終更新:2011年02月11日 21:23