2016-09-30 14 views
0

Следующий код написан для имитации гнезда zmq для отправки жестко закодированного myData. Как сделать функцию setInterval для отправки как myData & myData2 случайно? Это поможет мне, чтобы имитировать сообщения из нескольких источников (например: services, IOT devices), которые будут опубликованы же сокет, напримерКак публиковать рандомизированные сообщения из гнезда zmq с помощью setInterval?

var zmq = require('zmq'); 
var socket = zmq.socket('pub'); 

//simulated message 
var myData = { 
    "vmId" : "abc", 
    "vmName" : "myVm" 
} 
var myData2 = { 
    "vmId" : "xyz", 
    "vmName" : "myVm_2" 
} 
socket.bindSync('tcp://localhost:3000'); 

setInterval(function(){ 
socket.send(['notify_message', JSON.stringify(myData)]); 
}, 1000); 

ответ

1

Использование Math.random():

setInterval(function() { 
    socket.send(['notify_message', 
    JSON.stringify(Math.random() < 0.5 ? myData : myData2)]); 
}, 1000);