Node.js: Difference between revisions
Jump to navigation
Jump to search
Line 74: | Line 74: | ||
server.listen(8000); | server.listen(8000); | ||
</pre> | </pre> | ||
== Chat server == | |||
<pre> | |||
net = require('net'); | |||
var sockets = []; | |||
var s = net.Server(function(socket) { | |||
sockets.push(socket); | |||
socket.on('data', function(d) { | |||
for(var i=0; i<sockets.length; i++) { | |||
if (sockets[i] == socket) continue; | |||
sockets[i].write(d); | |||
} | |||
}); | |||
socket.on('end', function() { | |||
var i = socksets.indexOf(socket); | |||
sockets.splice(i, 1); | |||
}); | |||
}); | |||
s.listen(8000); | |||
</pre> | |||
Test it by | |||
Terminal 1: telnet localhost 8000 | |||
Terminal 2: telnet localhost 8000 |
Revision as of 13:41, 11 October 2013
node.js prompt
How to exit
.exit
http server
http://www.youtube.com/watch?v=jo_B4LTHi3I
First create a js file
var http = require('http'); var s = http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.write('Hello \n'); setTimeout(function() { res.end("world\n"); }, 2000); }); s.listen(8000);
Then using node program to run the js script. We can test the program by using a web browser or curl program.
# Terminal 1 node web-server.js # Terminal 2 curl http://localhost:8000 OR use "-i" to include HTTP-header in the output curl -i http://localhost:8000
Test the http server
ab -n 1000 -c 100 http://localhost:8000
tcp server
Simple example
Create <tcp-server.js> file
var net= require('net') var server = net.createServer(function(socket) { socket.write('hello\n'); socket.end('world\n'); }); server.listen(8000);
After running this program, we can test it by using telnet or nc.
telnet localhost 8000 OR nc localhost 8000
Echo server
var net= require('net') var server = net.createServer(function(socket) { socket.write('hello\n'); socket.write('world\n'); socket.on('data', function(data) { socket.write(data); }); }); server.listen(8000);
Chat server
net = require('net'); var sockets = []; var s = net.Server(function(socket) { sockets.push(socket); socket.on('data', function(d) { for(var i=0; i<sockets.length; i++) { if (sockets[i] == socket) continue; sockets[i].write(d); } }); socket.on('end', function() { var i = socksets.indexOf(socket); sockets.splice(i, 1); }); }); s.listen(8000);
Test it by
Terminal 1: telnet localhost 8000
Terminal 2: telnet localhost 8000