tatenosystem WebSocket ソリューション / node.js

WebSocket サンプル サーバ プログラム


JS コントロール(送信側)プログラム

JSプログラム


プログラムの解説

jQuery で Ajax 処理を行っています。

HTML

<button class="moveButton" title="up"> UP </button>
<button class="moveButton" title="down">DOWN</button>
<button class="moveButton" title="right">RIGHT</button>
<button class="moveButton" title="left">LEFT</button>

<input type="text" id="talk" value=""  maxlength=10 />
<button id="talkButton">TALK</button>

JavaScript

$(function()
{
   $(".moveButton").click(function(){
       $(".moveButton").hide();
       sendSocketSessionAjax($(this).attr("title"));
   });    
   $("#talkButton").click(function(){
       if ($("#talk").val() == "") return;
       sendSocketSessionAjax("say,"+$("#talk").val());
       $("#talk").val("");
   });
});
function sendSocketSessionAjax(mes)
{
   $.ajax({
       url: "/websocket/doctrl",
       type: "POST",
       data: {
           socid: $("#sockid").val(),
           mes: mes
       },
       success: function(data) {
           console.log("Ajax: " + data);
           $(".moveButton").show();
       },
       error: function(data) {
           alert("Ajax Error");
           console.log("Ajax Error");
       }
   })
}

サーバプログラム(PHP)

「コード送信」を行った時に実行されるプログラム

クライアントに say,CONNECTED を送信。

DB等を確認して、該当のコードが無かったらエラー。

if (! empty($socketSession)) {
   // WebSocket PUSH
   $url = 'http://localhost:XXX/push/?id=' .$socketSession. '&msg=say,CONNECTED';
   $res = file_get_contents($url);
} else {
   // CODEエラー処理
}

ボタンを押された時に実行コード(Ajax実行)

クライアントに、up、down、right、left、say の指示を送信。

// WebSocket PUSH
$url = 'http://localhost:XXX/push/?id=' .$socketSession. '&msg=' .urlencode($mes);
$body = file_get_contents($url);
echo 'OK';