• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2const common = require('../common');
3const assert = require('assert');
4const net = require('net');
5
6{
7  const server = net.createServer();
8
9  server.listen(common.mustCall(() => {
10    const port = server.address().port;
11    const client = net.connect({ port }, common.mustCall(() => {
12      client.on('error', common.mustCall((err) => {
13        server.close();
14        assert.strictEqual(err.constructor, Error);
15        assert.strictEqual(err.message, 'write EBADF');
16      }));
17      client._handle.close();
18      client.write('foo');
19    }));
20  }));
21}
22
23{
24  const server = net.createServer();
25
26  server.listen(common.mustCall(() => {
27    const port = server.address().port;
28    const client = net.connect({ port }, common.mustCall(() => {
29      client.on('error', common.expectsError({
30        code: 'ERR_SOCKET_CLOSED',
31        message: 'Socket is closed',
32        name: 'Error'
33      }));
34
35      server.close();
36
37      client._handle.close();
38      client._handle = null;
39      client.write('foo');
40    }));
41  }));
42}
43