2016-07-23 5 views
0

だから、私はSocket.IOとNode.JSとそれ以外のものを学ぼうとしています。しかし、私はそれを理解しようとするのは本当に苦労しています。サーバーのリアルタイムでボタンを変更しますか?

ボックスの色を変更するには、あるブラウザをクリックして別のブラウザや別のデバイスで変更を確認してください。

HTML:

<article></article> 

CSS:

<style> 
article { 
background:red; 
width:500px; 
height:500px; 
cursor:pointer; 
} 

    .green { 
    background:green; 
    } 
</style> 

私が使用しているスクリプトは、ちょうど私が思うのサーバーに接続しようとしている:

var server = require('http').createServer(); 
var io = require('socket.io')(server); 
io.on('connection', function(socket){ 
    socket.on('event', function(data){}); 
    socket.on('disconnect', function(){}); 
}); 
server.listen(3000); 

をするのを忘れました関数を含める:

<script> 
$("article").click(function() { 
    $(this).toggleClass("green"); 
}); 
</script> 
+1

の共同創設者午前イベント 'のソケット? – Kannaj

+0

'私が使用しているスクリプトは' ...一つに接続していないサーバを作成しています –

+0

これは私がlmaoの助けが必要なものです。私はそれ以降に何をするべきか理解していない。そして、この関数は.greenクラスを記事に切り替えることです – YVLL

答えて

1

私がこれを行う方法は、Node.js + Ablyで通知メッセージを配信することです。

だから、例えば、あなたのコードは次のようになります。

<script> 
/* Instance the realtime message bus 
var ably = Ably.Realtime.new(apiKey); /* get a free key from www.ably.io */ 
var channel = ably.channels.get("article"); 

$("article").click(function() { 
    /* Triggers all buttons to go green, assumes each article has a data-id */ 
    channel.publish("click", $("article").data('id')); 
}); 

channel.subscribe("click", function(msg) { 
    $("button").toggleClass("green"); 
}); 
</script> 

ニースとシンプルな:)

免責事項 - 私は "をトリガーするものAbly - simple better realtime

関連する問題