Skip to content

Instantly share code, notes, and snippets.

@mufasa71
Forked from kfox/README.md
Created September 14, 2023 08:56
Show Gist options
  • Save mufasa71/070870ff3484a260c27ad8fcc7f717fa to your computer and use it in GitHub Desktop.
Save mufasa71/070870ff3484a260c27ad8fcc7f717fa to your computer and use it in GitHub Desktop.
TCP echo server for Node.js

TCP echo server for Node.js

Usage

  1. Make sure you have a modern-ish version of Node.js installed.
  2. Type npx https://gist.github.com/kfox/1280c2f0ee8324067dba15300e0f2fd3
  3. Connect to it from a client, e.g. netcat or similar: nc localhost 9000
#!/usr/bin/env node
import net from 'node:net'
const port = process.argv[2] || 9000
const server = net.createServer((connection) => {
const { address, port } = connection.address()
const socket = `${address}:${port}`
console.log(`${socket} - client connected`)
connection.on('data', (data) => {
console.log(`${socket} - client sent: %s`, String(data).trim())
connection.write(data)
})
connection.on('end', () => {
console.log(`${socket} - client disconnected`)
})
})
server.listen({ port }, () => {
const { address, port } = server.address()
console.log('listening on %s:%d', address, port)
})
{
"name": "tcp-echo-server",
"version": "1.0.0",
"bin": "./echo.mjs"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment