Our online service will throw ECONNRESET from time to time, so I want to reproduce this error. After googling and stackoverflowing, I know ECONNRESET may occur when another peer abruptly closes the socket, meantime current peer is still reading data. The complete error message our online service got is:
Error: read ECONNRESET
    at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
What I tried:
// server.ts
import net, { Socket } from "net";
const chunks = [];
const server = net.createServer((stream: Socket) => {
  stream.on("data", data => {
    console.log(data.byteLength); // still reading data
  });
  stream.on("error", e => console.log(e));
});
server.listen("8080", () => {
  console.log("The server is listening to 8080");
});
server.on("error", e => {
  console.log(e);
})
// client.ts
import net from "net";
const options = {
  port: 8080,
};
const client = net.connect(options, () => {
  console.log("connected!");
  client.write(Buffer.alloc(1024 * 1024 * 1024)); // big buffer so server will need to consume for a long time
  setTimeout(() => {
    client.destroy(); // abruptly close the socket
  }, 0);
});
However, no error is thrown. Is there a way to forge an ECONNRESET?
