Skip to content

Instantly share code, notes, and snippets.

@msarchet
Created June 30, 2019 19:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save msarchet/6a2a8818fa9e2ea0327db5d165998cab to your computer and use it in GitHub Desktop.
Save msarchet/6a2a8818fa9e2ea0327db5d165998cab to your computer and use it in GitHub Desktop.
A Dexplexer example for working with orca on multiple port
const dgram = require('dgram')
const PortMaps = require('./portmaps.json')
this.server = dgram.createSocket('udp4')
this.listener = dgram.createSocket('udp4')
this.listener.on('message', (msg, rinfo) => {
let parts = `${msg}`.split("M")
let maps = parts[0].split("")
let message = parts[1]
maps.forEach(map => {
if (PortMaps[map]) {
let port = PortMaps[map]
console.log('sending to', port, message)
this.server.send(Buffer.from(`${message}`), port, '127.0.0.1', (err) => err && console.warn(err))
}
})
})
this.listener.on('listening', () => {
const address = this.listener.address()
console.log(`listening for UDP:\n ${address.address}:${address.port}`)
})
this.listener.on('error', (err) => {
console.log(`Server error:\n ${err.stack}`)
this.listener.close()
})
this.listener.bind(process.env.PORT || 49161)
{
"1": "49162",
"2": "49163"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment