I'm having trouble wrapping my head around the `pipe` function shown in several Node.js examples for the [net](http://nodejs.org/api/net.html) module.

```
var net = require('net');

var server = net.createServer(function (socket) {
  socket.write('Echo server\r\n');
  socket.pipe(socket);
});

```

Can anyone offer an explanation on how this works and why it's required?