2010-08-21 53 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里面,你只需抓住消息并使用它。您可能会将插槽存储在某处以便稍后访问它们。

参见:

相关问题