This commit is contained in:
Ryan 2009-05-25 19:52:05 +02:00
Родитель 3eb4819db1
Коммит f3af6c6f53
1 изменённых файлов: 22 добавлений и 14 удалений

Просмотреть файл

@ -112,8 +112,14 @@ a:hover { text-decoration: underline; }
<h1><a href="http://tinyclouds.org/node">Node</a></h1>
<p id="introduction">Purely asynchronous I/O for <a
<p id="introduction">Purely asynchronous server-side I/O for <a
href="http://code.google.com/p/v8/">V8 javascript</a>.
<p>Analogy
<pre>
Python : Twisted
Ruby : Event Machine
Javascript : Node</pre>
<p>This is an example of a web server written with Node which responds with
"Hello World" after waiting two seconds:
@ -127,13 +133,6 @@ a:hover { text-decoration: underline; }
}).listen(8000);
puts("Server running at http://127.0.0.1:8000/");</pre>
<p>
Node is an evented sandbox where users cannot execute blocking I/O.
This is
already natural for Javascript programmers, as the DOM is almost entirely
asynchronous. The goal is a framework to easily create
efficient network applications.
<p> See <a href="#api">the API documentation</a> for more examples.
@ -164,6 +163,14 @@ make install</pre>
<code class="sh_javascript">on</code>. All methods and members are camel cased. Constructors
always have a capital first letter.
<p>Node uses strings to represent ASCII or UTF-8 encoded data. For the
moment, arrays of integers are used to represent raw binary data&mdash;this
representation is rather inefficient. In the future, <a
href="http://code.google.com/p/v8/issues/detail?id=270">when V8 natively supports binary
Blob objects</a>, Node will use them.
<p>The following are some global general purpose functions:</p>
<dl>
<dt><code class="sh_javascript">puts(string, callback)</code></dt>
<dd>
@ -255,9 +262,9 @@ completion callbacks:
var path = "/some/path/that/doesnt/exist";
var file = new node.fs.File();
file.onError = function (method, errno, msg) {
stderr.puts("An error occurred calling " + method + " on " + path);
stderr.puts("An error occurred calling " + method);
stderr.puts(msg);
exit(1);
node.exit(1);
}
file.open(path, "w+")
</pre>
@ -314,10 +321,11 @@ file.open(path, "w+")
<h3 id="http"><code>node.http</code></h3>
<p> Node provides a web server and client interface. The interface is rather
low-level but complete (it does not limit you from
any of HTTP's features). The interface abstracts the transfer-encoding (i.e.
chunked or identity), message boundaries, and persistent connections.
<p>The HTTP interfaces here are designed to support many features
of the protocol which have been traditionally difficult to handle. In
particular, large, possibly chunked, messages. The interface is
careful to never buffer entire requests or responses&mdash;the user is able
to stream data.
<p> HTTP message headers are represented by an array of 2-element arrays like this
<pre class="sh_javascript">