summaryrefslogtreecommitdiffstats
path: root/testing/xpcshell/dns-packet/examples/udp.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/xpcshell/dns-packet/examples/udp.js')
-rw-r--r--testing/xpcshell/dns-packet/examples/udp.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/testing/xpcshell/dns-packet/examples/udp.js b/testing/xpcshell/dns-packet/examples/udp.js
new file mode 100644
index 0000000000..0f9df9d794
--- /dev/null
+++ b/testing/xpcshell/dns-packet/examples/udp.js
@@ -0,0 +1,28 @@
+'use strict'
+
+const dnsPacket = require('..')
+const dgram = require('dgram')
+
+const socket = dgram.createSocket('udp4')
+
+function getRandomInt (min, max) {
+ return Math.floor(Math.random() * (max - min + 1)) + min
+}
+
+const buf = dnsPacket.encode({
+ type: 'query',
+ id: getRandomInt(1, 65534),
+ flags: dnsPacket.RECURSION_DESIRED,
+ questions: [{
+ type: 'A',
+ name: 'google.com'
+ }]
+})
+
+socket.on('message', function (message, rinfo) {
+ console.log(rinfo)
+ console.log(dnsPacket.decode(message)) // prints out a response from google dns
+ socket.close()
+})
+
+socket.send(buf, 0, buf.length, 53, '8.8.8.8')