27 lines
818 B
JavaScript
27 lines
818 B
JavaScript
'use strict';
|
|
|
|
// This tests that net.connect() from a used local port throws EADDRINUSE.
|
|
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
const net = require('net');
|
|
|
|
const server1 = net.createServer(common.mustNotCall());
|
|
server1.listen(0, common.localhostIPv4, common.mustCall(() => {
|
|
const server2 = net.createServer(common.mustNotCall());
|
|
server2.listen(0, common.localhostIPv4, common.mustCall(() => {
|
|
const client = net.connect({
|
|
host: common.localhostIPv4,
|
|
port: server1.address().port,
|
|
localAddress: common.localhostIPv4,
|
|
localPort: server2.address().port
|
|
}, common.mustNotCall());
|
|
|
|
client.on('error', common.mustCall((err) => {
|
|
assert.strictEqual(err.code, 'EADDRINUSE');
|
|
server1.close();
|
|
server2.close();
|
|
}));
|
|
}));
|
|
}));
|