Node.js: Difference between revisions
Jump to navigation
Jump to search
| Line 115: | Line 115: | ||
<pre> |
<pre> |
||
node hash.js hash.js |
node hash.js hash.js |
||
</pre> |
|||
===TTY=== |
|||
<pre> |
|||
process.stdout.on('resize', function() { |
|||
console.log('screen size has changed!'); |
|||
console.log(process.stdout.columns + 'x' + process.stdout.rows); |
|||
}); |
|||
</pre> |
|||
<pre> |
|||
node resize.js |
|||
</pre> |
|||
<pre> |
|||
$ node -p -e "Boolean(process.stdout.isTTY)" |
|||
true |
|||
$ node -p -e "Boolean(process.stdout.isTTY)" | cat |
|||
false |
|||
</pre> |
</pre> |
||
Revision as of 20:09, 25 February 2013
Description
Node.js est un canevas événementiel pour réaliser des applications serveur en Javascript.
Des nombreuses bibliothèques sont disponibles : Assertion Testing Buffer C/C++ Addons Child Processes Cluster Crypto Debugger DNS Domain Events File System Globals HTTP HTTPS Modules Net OS Path Process Punycode Query Strings Readline REPL STDIO Stream String Decoder Timers TLS/SSL TTY UDP/Datagram URL Utilities VM ZLIB
Des nombreux canevas sont construits sur Node.js
Exemples
HTTP script
var port = process.argv[2];
var http = require("http");
function onRequest(request, response) {
console.log("Receiving a request");
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}
http.createServer(onRequest).listen(port);
console.log("Server started. ^C to kill it");
node hello.js 8888
UDP Datagrams
var dgram = require("dgram");
var server = dgram.createSocket("udp4");
server.on("message", function (msg, rinfo) {
console.log("server got: " + msg + " from " +
rinfo.address + ":" + rinfo.port);
});
server.on("listening", function () {
var address = server.address();
console.log("server listening " +
address.address + ":" + address.port);
});
server.bind(41234);
// server listening 0.0.0.0:41234
node dgram.js
Crypto: SHA1 Hashing
var filename = process.argv[2];
var crypto = require('crypto');
var fs = require('fs');
var shasum = crypto.createHash('sha1');
var s = fs.ReadStream(filename);
s.on('data', function(d) {
shasum.update(d);
});
s.on('end', function() {
var d = shasum.digest('hex');
console.log(d + ' ' + filename);
});
node hash.js hash.js
TTY
process.stdout.on('resize', function() {
console.log('screen size has changed!');
console.log(process.stdout.columns + 'x' + process.stdout.rows);
});
node resize.js
$ node -p -e "Boolean(process.stdout.isTTY)" true $ node -p -e "Boolean(process.stdout.isTTY)" | cat false