0

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を呼び出したとき、JavaScript関数が実行されませんでした..

このようなURLでnodejs関数を呼び出したいです。

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

また

シェルでこの JavaScript 関数を呼び出す

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

ありがとう。

4

2 に答える 2

0

サーバーで発行する場合は、クライアントで結果をリッスンする必要があり、その逆も必要です。

サーバ:

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

クライアント:

socket.on('news', function (data) {
  console.log(data);
});
于 2012-09-13T09:38:52.940 に答える
0

パトリックが言ったように、クライアント側にリスナーが必要です。もう1つ、サーバーで何かを取得しましたか? データを受信しましたか?実行されなかった部分を指定しませんでした。サーバーが 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);
});

});`

于 2012-09-13T15:01:14.413 に答える