私は node.js と socket.io の両方の初心者ですが、接続されたクライアントにいくつかの値をブロードキャストする小さなアプリケーションを作成したいと考えています。最初に2つのことがわかりません。他の関数でsocket.broadcast.emitまたは他のブロードキャスト関数を起動するにはどうすればよいですか? 私のアプリには、毎秒値を計算する関数があり、この値をすべてのクライアントに送信したいと考えています。2 番目の質問は、クライアントでこのメッセージを取得し、他の JavaScript 関数で使用する方法です。特定のクライアントからではなく、サーバーからnode.js + socket.ioブロードキャストの前にこれを見ました か? しかし、私のコードは次のとおりです。
var cronJob = require('cron').CronJob;
var snmp = require('snmp-native');
//var oid = [1, 3, 6, 1, 2, 1, 1, 1, 0];
//var oid1 = [1,3,6,1,2,1,11,1];
//var oid2 = [1,3,6,1,4,1,2636,3,9,1,53,0,18];
//var oid3 = [1,3,6,1,2,1,2,2,1,11,18];
var intraffic = [1,3,6,1,2,1,2,2,1,10,18]; //inbound traffic
var outtraffic = [1,3,6,1,2,1,2,2,1,16,18]; //outbound traffic
var inpps = [1,3,6,1,4,1,2636,3,3,1,1,3,518]; //interface inbound pps
var outpps = [1,3,6,1,4,1,2636,3,3,1,1,6,518]; //interface out pps
var session = new snmp.Session({ host: '10.0.0.73', port: 161, community: 'Pluto@com' });
new cronJob('* * * * * *', function(){
session.get({ oid:intraffic }, function (error, varbind) {
var vb;
if (error) {
console.log('Fail :(');
} else {
vb=varbind[0];
console.log(vb.oid + ' = ' + vb.value + ' (' + vb.type + ')');
}
});
}, null, true, "America/Los_Angeles");