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做个广告。