Created
January 27, 2015 16:15
-
-
Save cristianounix/4273bf02f54f3b82d4ac to your computer and use it in GitHub Desktop.
TCP Client and Server
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
====== TCP Server ===== | |
var net = require('net'); | |
var HOST = '127.0.0.1'; | |
var PORT = 6969; | |
// Create a server instance, and chain the listen function to it | |
// The function passed to net.createServer() becomes the event handler for the 'connection' event | |
// The sock object the callback function receives UNIQUE for each connection | |
net.createServer(function(sock) { | |
// We have a connection - a socket object is assigned to the connection automatically | |
console.log('CONNECTED: ' + sock.remoteAddress +':'+ sock.remotePort); | |
// Add a 'data' event handler to this instance of socket | |
sock.on('data', function(data) { | |
console.log('DATA ' + sock.remoteAddress + ': ' + data); | |
// Write the data back to the socket, the client will receive it as data from the server | |
sock.write('You said "' + data + '"'); | |
}); | |
// Add a 'close' event handler to this instance of socket | |
sock.on('close', function(data) { | |
console.log('CLOSED: ' + sock.remoteAddress +' '+ sock.remotePort); | |
}); | |
}).listen(PORT, HOST); | |
console.log('Server listening on ' + HOST +':'+ PORT); | |
====== TCP Client ===== | |
var net = require('net'); | |
var HOST = '127.0.0.1'; | |
var PORT = 6969; | |
var client = new net.Socket(); | |
client.connect(PORT, HOST, function() { | |
console.log('CONNECTED TO: ' + HOST + ':' + PORT); | |
// Write a message to the socket as soon as the client is connected, the server will receive it as message from the client | |
client.write('I am Chuck Norris!'); | |
}); | |
// Add a 'data' event handler for the client socket | |
// data is what the server sent to this socket | |
client.on('data', function(data) { | |
console.log('DATA: ' + data); | |
// Close the client socket completely | |
client.destroy(); | |
}); | |
// Add a 'close' event handler for the client socket | |
client.on('close', function() { | |
console.log('Connection closed'); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment