▶ tatenosystem WebSocket ソリューション / node.js
WebSocket サンプル サーバ プログラム
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';