用node.js寫一個BBS出來吧!

5 / 30, 2013 node.js , 伺服器

BBS實在是一個舊東西。你可能會問:在現今的網絡世界,還會有人用BBS嗎?(你想說我老嗎?) 雖然BBS已經差不多被濤汰,但是原因卻是因為BBS在那時是需要用很多伺服器去設置的,成本很貴(以當時的電腦科技來說)。而且,BBS的版面不能做到好像現在的網頁一樣那麼漂亮,又不像HTTP般的快捷方便。為什麼我要提BBS這個舊東西呢?因為現在科技的步伐實在太快了,我想重提一些較舊的東西。好了,我們馬上開始!

(在你看此文的下半部前,請先安裝node.js。另外,我假設你已對javascript有一定的認識。)

首先,我們要了解BBS是如何運作的。BBS是透過telnet用戶端連接的,所以我們要做的就是寫一個telnet伺服器出來。至於,我們為甚麼用node.js呢?因為,node.js出名的就是效能。它能夠在同一時間處理數千(甚至數百萬)個連線,是建立BBS的最好選擇。此是一個用node.js寫的簡單telnet伺服器:

var net = require('net');
//創建一個telnet(TCP)伺服器
var server = net.createServer(function(socket){
    //當有資料從用戶端傳來時的動作
    socket.on('data',function(data){
        socket.write('You\'ve typed: '+data+'\n'); //把資料傳至用戶端
    });
    //當用戶端中斷連線時的動作
    socket.on('end',function(){
        socket.write('Bye!\n');
    });
    socket.write('Hello!');
});
//指示伺服器去接收來自23號連接埠的所有資料
server.listen(23);

這簡單的telnet伺服器會把所有你打的字都傳回用戶那裡。透過擴充上面程式碼標記的部分我們可以增加更多功能。由此道理我們可以很容易的建立一個BBS了。

  • Chun

    你好,Lee大,可以請問一下 如果要用nodejs建立完整的BBS站要怎麼做呢? 或是有甚麼詳細資料或書籍可以參考的呢??