我正在使用带有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 ?>});
感谢。
答案 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);
});
});`