2013-03-05 67 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