2013-03-05 102 views
0

我有這樣的代碼在app.jssocket.io基本問題

var app = require('http').createServer(handler), 
io = require('socket.io').listen(app), 
static = require('node-static'); 
var fileServer = new static.Server('./'); 
app.listen(8080); 
function handler (request, response) { 
    request.addListener('end', function() { 
     fileServer.serve(request, response); 
    }); 
} 
io.set('log level', 1); 
io.sockets.on('connection', function (socket) { 
    socket.on('click', function() { 
      socket.broadcast.emit('moving'); 
     }); 

}); 

的Index.html

<script> 
    var url = window.location.hostname; 
    var socket = io.connect(url); 
    socket.on('moving', function() { 
     $("body").append('<div class="text">tex</div>'); 
    }); 
</script> 

我想寫簡單的文本(DIV),但它不工作..哪裏可以解決問題?

回答

1

socket.io默認情況下不會幫助觀察click事件。 編輯您的客戶端代碼如下:

<script> 
    var url = window.location.hostname; 
    var socket = io.connect(url); 
    socket.on('moving', function() { 
     $("body").append('<div class="text">tex</div>'); 
    }); 
    // manually emit the event, or bind `click` inside dom 
    // and call socket.emit('click') inside onClick() 
    socket.emit('click'); 
</script> 
+0

是,發射就是這樣一個客戶機與服務器或服務器同客戶端(S)。 On是服務器如何接收客戶端發出的消息,或客戶端如何接收服務器發出的消息。所以,通常你會在客戶端上發生一些事件,比如按下按鈕,例如,它會向服務器發送它發生的事情,並且在服務器內部,它會採取行動,可能會向其他客戶端發送它發生的事件。 – WallMobile 2013-04-16 22:56:40