如何从URL或Shell调用nodejs事件

时间:2012-09-13 08:05:57

标签: node.js shell socket.io

我正在使用带有nodejs的socket.io。所以我想通过URL广播给所有客户..

例如:

我的nodejs服务器:www.domain.com:7979

var io = require('socket.io').listen(7979);

io.sockets.on('connection', function (socket) {



  socket.on('addRow', function (data) {
    console.log(data);
io.sockets.emit('newRow', data);
});

});

这是我的客户代码:

client.php     

$(function(){


    var socket = io.connect('http://www.semtr.com:7979');
    socket.emit('addRow',{taskId:<?php echo $id ?>});
    //socket.disconnect();



});
</script>

当我调用client.php vith控制台时,我的javascript函数没有运行..

我想用这样的url调用nodejs函数。

http://www.domain.com:7979/addRow

调用这个javascript函数vith shell

socket.emit('addRow',{taskId:<?php echo $id ?>});

感谢。

2 个答案:

答案 0 :(得分:0)

如果你在服务器上发光,你必须在客户端上听取结果,反之亦然:

服务器:

io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
});

客户端:

socket.on('news', function (data) {
  console.log(data);
});

答案 1 :(得分:0)

就像帕特里克所说,你应该在客户端有一个听众。 另一件事,你在服务器上得到了什么?它接收数据了吗?您没有指定哪个部分没有运行。 请记住,如果您的服务器正在侦听与socket.io模块相同的端口,您可以只使用io.connect()进行连接,也可能是不匹配,请更具体。

'$(函数(){

var socket = io.connect();
socket.emit('addRow',{taskId:<?php echo $id ?>});
//socket.disconnect();

socket.on('newRow', function (data) {
    //do something with server's message
    console.log(data);
});

});`