-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dgram: default send address to 127.0.0.1 or ::1
In net we default to 'localhost' as the default address for connect. Not doing the same on dgram is confusing, because sending to 0.0.0.0 works on Linux/OS X but not on Windows. Defaulting that to 127.0.0.1 / ::1 addresses that. Related: #5407 Related: #5398 Fixes: #5487 PR-URL: #5493 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io>
- Loading branch information
Showing
4 changed files
with
46 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
'use strict'; | ||
|
||
const common = require('../common'); | ||
const assert = require('assert'); | ||
const dgram = require('dgram'); | ||
|
||
if (!common.hasIPv6) { | ||
console.log('1..0 # Skipped: no IPv6 support'); | ||
return; | ||
} | ||
|
||
const client = dgram.createSocket('udp6'); | ||
|
||
const toSend = [new Buffer(256), new Buffer(256), new Buffer(256), 'hello']; | ||
|
||
toSend[0].fill('x'); | ||
toSend[1].fill('y'); | ||
toSend[2].fill('z'); | ||
|
||
client.on('listening', function() { | ||
client.send(toSend[0], 0, toSend[0].length, common.PORT); | ||
client.send(toSend[1], common.PORT); | ||
client.send([toSend[2]], common.PORT); | ||
client.send(toSend[3], 0, toSend[3].length, common.PORT); | ||
}); | ||
|
||
client.on('message', function(buf, info) { | ||
const expected = toSend.shift().toString(); | ||
assert.ok(buf.toString() === expected, 'message was received correctly'); | ||
|
||
if (toSend.length === 0) { | ||
client.close(); | ||
} | ||
}); | ||
|
||
client.bind(common.PORT); |