2010-08-21 86 views
3

我想創建一個使用HTML5網絡套接字的聊天室,但我很迷茫。從我可以告訴,要求如下:對網絡套接字和服務器端JavaScript(尤其是node.js)的解釋

  1. 支持web插座器(Chrome,Safari瀏覽器)
  2. 一些類型的服務器端腳本
  3. 一些類型的客戶端腳本的瀏覽器

我有#1 down :)但#2嚴重絆倒了我。除了業餘PHP工作(通常在Drupal的上下文中),我幾乎沒有在服務器端編碼的經驗。我傾向於在Javascript中編寫很多代碼,並且閱讀了關於node.js的很棒的內容。所以我想我會嘗試使用它來玩網絡套接字。

我已經在我的Mac Leopard機器上安裝了node.js(它安裝到Home> node),但我真的不知道該從哪裏去。 node.js網站提供了一個「Hello World」的例子,我試過了(我把代碼放到一個example.js文件中,並將它保存在「node」文件夾的根目錄下),但我只得到以下內容響應在終端:

服務器在http://127.0.0.1:8124/

運行我很想傻瓜之類的話使Node.js和網絡插口。感謝您提供的任何幫助。

+1

退房傑夫Kreeftmeijer的 「幽靈球」 的實驗。這實際上是您實時聊天所需的框架;你只是用不同的客戶端解釋數據。 http://jeffkreeftmeijer.com/2010/experimenting-with-node-js/ – 2010-08-21 20:59:31

+0

如果您向http://127.0.0.1:8124發送網絡請求,「hello world」就是回覆。 – mhitza 2010-08-21 22:30:33

+0

mhitza-- 好的。我如何提出這一要求? – maxedison 2010-08-22 05:31:10

回答

4

這可能是更高級一些的,但它確實提供了node.js的一個體面的WebSocket層:http://github.com/LearnBoost/Socket.IO-node

也就是說,如果你沒有做過多的服務器端的東西,它可能是更好地得到一個感覺http協議包括如何構建請求和響應,如何添加標頭等(節點外)。一旦你對此有了更好的理解,node.js將會更容易理解。

本教程應該給你一個基本概述:使用WebSockets

1

在node.js網站上有一個演示項目,其中包含實時聊天。 http://chat.nodejs.org/

和源代碼在這裏。 http://github.com/ry/node_chat

這不是使用html5,但希望這指出你在正確的方向。

+0

我已經看到了,但我不知道該如何處理它。正如我在原文中所說的,我甚至不理解Hello World示例。 – maxedison 2010-08-22 05:30:31

2

,如果你想用JavaScript來貼在服務器端,這也是容易RingoJs http://ringojs.org打交道時 http://www.tutorialspoint.com/http/index.htm

這東西變得更加重要。這是你寫websocket Listener的要點。

var websocket = require("ringo/webapp/websocket"); 

    exports.serverStarted = function(server) { 
     var context = server.getDefaultContext(); 
     websocket.addWebSocket(context, "/websocket", function (socket) { 
      // this function, being passed the socket, is called everytime 
      // a new socket connection is made. 

      // overwrite onMessage to intercept the messages   
      socket.onmessage = function(m) { 
      }; 
     }); 
    }; 

    // send smth to the client 
fooSocket.send('your message') 

在socket.onmessage裏面,你只需抓住消息並使用它。您可能會將插槽存儲在某處以便稍後訪問它們。

參見:

相關問題