Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Node.js TCP client and server example
/*
In the node.js intro tutorial (http://nodejs.org/), they show a basic tcp
server, but for some reason omit a client connecting to it. I added an
example at the bottom.
Save the following server in example.js:
*/
var net = require('net');
var server = net.createServer(function(socket) {
socket.write('Echo server\r\n');
socket.pipe(socket);
});
server.listen(1337, '127.0.0.1');
/*
And connect with a tcp client from the command line using netcat, the *nix
utility for reading and writing across tcp/udp network connections. I've only
used it for debugging myself.
$ netcat 127.0.0.1 1337
You should see:
> Echo server
*/
/* Or use this example tcp client written in node.js. (Originated with
example code from
http://www.hacksparrow.com/tcp-socket-programming-in-node-js.html.) */
var net = require('net');
var client = new net.Socket();
client.connect(1337, '127.0.0.1', function() {
console.log('Connected');
client.write('Hello, server! Love, Client.');
});
client.on('data', function(data) {
console.log('Received: ' + data);
client.destroy(); // kill client after server's response
});
client.on('close', function() {
console.log('Connection closed');
});
@zakcodez
Copy link

how to set tcp headers on request and receive in the server

I don't think you can set headers with TCP. HTTP maybe what you are looking for

@Raghupathy-max
Copy link

'Received: ' + data

I also have a same issue.......

@lenn-mark
Copy link

require("net") is not working in 16.13.1
when i move to 18.x now it says digital envelope routines unsupported
.......

@seyyednaquib
Copy link

you try to connect to another pc port? if yes, make sure to allow inbound firewall

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment