一番簡単なWebSocketをやりとりするJavaサーバープログラム(ページと結果)

1 > 2 > 3 > 4 > 5 > (ページと結果)

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
 

エコーがかえってくるので、こんな感じになります。
もちろん日本語も問題なく動作しました。

1 > 2 > 3 > 4 > 5 > (ページと結果)

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2011年02月11日 21:23
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。