Socket.io, birden çok iletiyi üstel olarak ateşliyor gibi görünüyor, burada çalışmamın bir örneği var, bu da soruna neden oluyor.Socket.io çoklu olayları tetikleme
İstemci tarafı:
<html>
<head>
<script type="text/javascript" src="../../js/jquery191.min.js"></script>
<script type="text/javascript" src="http://192.168.1.2:8887/socket.io/socket.io.js"></script>
</head>
<body>
<button>Click Me!</button>
<script type="text/javascript">
$(document).ready(function(){
var socket = io.connect('http://192.168.1.2:8887');
$("button").click(function(){
console.log("Emitting test_parent");
socket.emit('test_parent');
socket.on('test_parent_server', function(data){
console.log("Handling test_parent_server");
console.log("Emitting test_child");
socket.emit('test_child');
socket.on('test_child_server', function(ing){
console.log("Handling test_child_server");
});
});
});
});
</script>
</body>
</html>
Sunucu tarafı: nedense düğme olayları katlanarak artan birden çok kez kovulunca tıklandığında her zaman için
socket.on("test_parent", function(){
socket.emit("test_parent_server", { data : " " });
});
socket.on("test_child", function(){
socket.emit("test_child_server", { data : " " });
});
. Hataların ne olduğunu anlamaya çalıştım ama hata ayıklama veya çevrimiçi arama şansı yok.
teşekkür ederiz! Socket.io'nun bu gibi geri çağrıları birleştireceğinin farkında değildim, şimdi yaptığınız gibi yapıya sahip olduğumu fark ettim! –
@JosephShering, Bu socket.io özgü değil. Çoğu olay sistemi böyle çalışır. Çalıştığına sevindim. Cevabımdan memnunsanız, lütfen kabul edildi olarak işaretleyin. –