ii が codeigniter と nodejs を相互に通信させる方法を次に示します。
http://mydomain.com/controller/function/ でcodeigniter アプリを実行しており、http://mydomain.com:8080でnodejs(nowjs) を実行しています。
ユーザーは codeigniter URL を使用し、ページを開くと、Nodejs アプリに接続する CI ビュー ページに次のようなスクリプトがあります。
<script src="http://mydomain.com:8080/nowjs/now.js"></script>
<script>
$(document).ready(function(){
now.receiveMessage = function(name, message){
$("#messages").append("<br>" + name + ": " + message);
}
// Send message to people in the same group
$("#send-button").click(function(){
now.distributeMessage($("#text-input").val());
$("#text-input").val("");
});
now.name = prompt("What's your name?", "");
// on establishing 'now' connection, set server room and allow message sending
now.ready(function(){
// Pick up list of available chatrooms from server and populate dropdown
setServerRoomFromList(now.serverRoomsList);
// By default pick the first chatroom
now.changeRoom($('#server-room').val());
// Connection established and room set; allow user to start sending messages
$("#send-button").removeAttr('disabled');
});
// On change of drop down, clear text and change server room
$('#server-room').change(function(){
$("#messages").html('');
now.changeRoom($('#server-room').val());
});
});
// populate the #server-room dropdown
function setServerRoomFromList(roomList){
$('#server-room').empty();
$.each(roomList, function(key, value)
{
$('#server-room').
append($("<option></option>").
attr("value",key).
text(value));
});
}
</script>
彼らはお互いにとても上手に話すことができます!!