10 April 2011

node.js是一个server端js的运行时。

想研究一下,就拿cheater来练手。(注:cheater是在公司里对付cc zone的实现自动登录的小工具)

首先想到的是用来做管理、监控的socket端口。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var net = require('net');
var server = net.createServer(function (client) { // 有client连上来的时候调用此回调函数
  client.setEncoding('ascii'); // 设置编码,否则下面的data默认使用Buffer
  client.write('> ');
  client.on('data', function (data) { // client发数据过来,触发'data'事件,然后调用此回调函数
    switch (data.trim()) {
      case 'status':
        client.write('heartbeating...\r\n');
        client.write('> ');
        break;
      case 'quit':
        client.end(); // 关掉client
        break;
      case 'shutdown':
        client.end();
        server.close(); // 关掉server
        break;
      default:
        client.write('> ');
        break;
    }
  });
});
server.listen(44050, 'localhost');

值得注意的是,这里只有一个线程,所有异步的事情都靠事件驱动。这也就是node.js一个最核心的思想:用单个线程充分压榨CPU资源,能异步的全都异步了。

刚开始玩儿,哪里不对的,请多指正。顺便帮cnodejs做个广告。



blog comments powered by Disqus