/** * Send concatenated data to StatsD server via UDP * * @param {Buffer} buf */ send(buf) { //this.logger.info("Buffer\n" + buf.toString()); const sock = dgram.createSocket("udp4"); sock.send(buf, 0, buf.length, this.opts.port, this.opts.host, (err, bytes) => { if (err) { this.logger.warn("Unable to send metrics to StatsD server. Error:" + err.message, err); } else { this.logger.debug("Metrics are uploaded to StatsD. Sent bytes:", bytes); } sock.close(); }); }
const server = dgram.createSocket({ type: "udp4", reuseAddr: this.opts.udpReuseAddr }); server.on("message", this.onMessage.bind(this)); server.on("error", err => { this.logger.warn("UDP server binding error!", err); resolve(); port = port || 4445; server.bind({ port, host, exclusive: true }, () => { try { if (multicastAddress) { this.logger.info(`UDP Multicast Server is listening on ${host}:${port}. Membership: ${multicastAddress}`); server.setMulticastInterface(host); server.addMembership(multicastAddress, host); server.setMulticastTTL(ttl || 1); server.destinations = [multicastAddress]; } else { this.logger.info(`UDP Broadcast Server is listening on ${host}:${port}`); server.setBroadcast(true); server.destinations = this.getBroadcastAddresses(); this.logger.info(" Broadcast addresses:", server.destinations.join(", "));
stop(force: boolean, cb: () => void) { this.socket.close(); process.nextTick(cb); }
sendRaw(msg: any) { this.socket.send(msg, 0, msg.length, this.port, this.host, function (err, bytes) { if (!!err) { logger.error('send msg to remote with err: %j', err.stack); return; } }); }
this.socket.on('message', function (data: Buffer, peer: dgram.RemoteInfo) { let socket = self.clients[genKey(peer)]; if (!!socket) { this.socket.on('error', function (err: Error) { logger.error('udp socket encounters with error: %j', err.stack); return; }); this.socket.bind(this.port, this.host); this.tcpServer.listen(this.port); process.nextTick(cb);
listener.bind(6666); listenerEncrypted.bind(6667); listener.close(); listener.removeAllListeners(); listenerEncrypted.close(); listenerEncrypted.removeAllListeners(); resolve(true); listener.on('message', broadcastHandler(resolve, reject)); listener.on('error', err => { reject(err); }); listenerEncrypted.on('message', broadcastHandler(resolve, reject)); listenerEncrypted.on('error', err => { reject(err); }); }), timeout * 1000, () => { listener.close(); listener.removeAllListeners(); listenerEncrypted.close(); listenerEncrypted.removeAllListeners();
unref() { this.udf.unref(); this.chunkInterval.unref(); return this; }
sendAndClose(callback) { this.callback = callback || this._defaultCallback; this._debug('Sending last messages and closing...'); this._popMsgsAndSend(); clearTimeout(this.timer); if (this.protocol === 'udp') { this.udpClient.close(); } }
this.wifiServerUDP.on('message', (msg) => { if (!bufferEqual(lastMsg, msg)) { this._processBytes(msg); } lastMsg = msg; });
removeUdpSubscriber(connId){ delete this._udpSubClients[connId] if(Object.keys(this._udpSubClients).length === 0){ this.udpSocket.close(); } }
let send = function (message, port, host) { console.log('send') console.log(arguments) udp.send(Buffer.from(message), port || 8002, host || 'anynb.com') }
// Start an UDP server to mock calls. const startUdpServer = async function() { const requests = [] const server = createSocket('udp4', buffer => { requests.push(buffer.toString()) }) await promisify(server.bind.bind(server))(0) const { address, port } = server.address() const stopServer = promisify(server.close.bind(server)) return { host: address, port, requests, stopServer } }
status.on('message', function (message, remote) { //UNCOMNET FOR DEBUG //console.log(`${remote.address}:${remote.port} - ${message}`); let msg_obj = dataSplit(message.toString()); if(commands.hasOwnProperty(remote.address)){ commands[remote.address]['status'] = msg_obj; } else{ commands = Object.assign(commands, {[remote.address]: { status: msg_obj }}) } });
udp.on('message', function (data, ipdr) { console.log('message') console.log(data.toString()) console.log(ipdr) })