走進Node.js

來源:互聯網
上載者:User

標籤:瀏覽器   伺服器   應用程式   用戶端   node.js   

    自2009年Node.js誕生以來,其發展速度如此之快。

    嚴格的說,Node.js是一個用於開發各種Web伺服器的開發工具。

    Node.js為什麼發展的這麼快,迅速成長起來的呢,首先,我們看一下現在的伺服器端語言中存在的問題,在Java、PHP、ASP.NET等伺服器端語言中,為每一個用戶端建立一個新的線程,每個線程需要耗費大約2MB的記憶體,就是說,理論上,8GB記憶體的伺服器可以同時串連的最大使用者數為4000個左右。要讓Web應用程式支援更多的使用者,就要增加伺服器,這樣一來,硬體成本就增加了,而Node.js解決了這個問題,它並不是為每個使用者請求建立一個新的線程,而是為每個使用者請求觸發一個在Node.js內部進行的處理事件。也就是說,使用Node.js可以同時處理多達幾萬個使用者的用戶端串連。

    在Node.js伺服器中啟動並執行是高效能的V8 JavaScript指令碼語言。V8 JavaScript是由Gooole公司使用C++語言開發的一種高效能Javascript引擎,該引擎並不局限在瀏覽器中運行,Node.js將其用在了伺服器中,V8 JavaScript引擎內部使用一種全新的編譯技術。這意味著,開發人員編寫的高端的JavaScript指令碼代碼與開發人員編寫的C語言具有肺中近似的執行效率。聽起來是不是很高大上啊!

    Node.js中採用了非阻塞式I/O和事件迴圈,這是為了實現高效能而做的改進。

    當應用程式需要處理大量並發的輸入輸出,而在向用戶端發出響應之前,應用程式內部不需要進行非常更複雜的處理的時候,可以用Node.js來進行應用程式的開發。例如:聊天類伺服器和電子商務網站或綜合服務類網站的伺服器。

    Node.js內建了很多模組,同時也可以引入第三方模組。

    說了這麼多,是時候動手了,首先要安裝Node.js,這就不說了,到官網下載安裝即可。

    舉個小例子,讓我們看一看這高大上的Node.js程式。

    建立檔案,Node.js,寫下如下代碼:

    var http = require(‘http‘);    //引入http模組

        http.createServer(function(req, res) { 

//用http模組的createServer方法建立用於接收用戶端請求並響應的HTTP伺服器應用程式。

        res.writeHead(200, {‘Content-Type‘: ‘text/html‘});

        res.write(‘<h1>Node.js</h1>‘); 

        res.end(‘<p>Hello World</p>‘); 

     }).listen(3000);

    console.log("HTTP server is listening at port 3000."); 

對,這就是一個簡單的Node程式,這一小段代碼建立了伺服器,並向客戶響應了一條訊息,在瀏覽器中輸入localhost:3000就可以看到效果了。


本文出自 “時光” 部落格,請務必保留此出處http://timeblog.blog.51cto.com/8650972/1582537

走進Node.js

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.