使用node.JS和Socket.IO的路径和其他问题

时间:2010-08-09 09:56:41

标签: javascript node.js websocket

我在Windows托管的TurnkeyLinux上使用VirtualBox中的node.JS。我按照说明here。 node.JS位于/ root / node中。虽然我可以成功运行简单的例子,但我很难搞清楚某些事情,因为我通常不是Linux人。我想使用socket.io。

  1. 我使用git管理安装node.JS本身,并尝试使用Express和Socket.IO。 (例如git clone git://github.com/LearnBoost/Socket.IO.git)。它似乎工作,但我无法在任何地方找到这些东西!调用git时在/ root / node中,期望lib文件夹中的更改...

  2. node.JS正在使用CommonJS模块系统。在Socket.IO示例中,io = require('../')用于导入Socket.IO,这看起来很奇怪。 Web上的其他示例是指'./Socket.IO-node'。由于模块只是遵循某些规则的JS文件,我希望它像这样一个文件的路径,因为我在/ root / node / lib中找到了http.js。 顺便说一下,查看server.js示例:是否有某些原因使用var作为http,而不是其他变量(url,fs,io,sys)?

  3. 在客户端上,“如何使用”Socket.IO的第一行是:io.setPath(...)。在页面的任何其他位置都没有提到setPath。应该指向何处,相对于什么?

  4. 我没有找到有关使用shell停止/重启节点的信息。可能它是如此明显,以至于从未在任何地方提到过;)

  5. 感谢您提供帮助。

1 个答案:

答案 0 :(得分:0)

  1. 如今,Turnkey-Core附带的git版本已经过时了。也许这会引起问题。我在Windows和WinSCP上使用我的git工作;)

  2. 默认情况下,在web服务器上使用index.js是inbuild automatism,默认情况下使用index.js。所以'../'指向父文件夹中的index.js,然后导出socket.io的监听器。 Guillermo Rauch现在将一个index.js放在socket.io-folder中,所以就像'./lib/socket.io/'一样。请注意,有些例子就像'./socket.io/socket.io.js',但是对于一些好的reasons,socket.io.js不再存在。
    当然var用于所有变量。我看过逗号是分号。也许我应该改变我的屏幕分辨率;)

  3. 查看示例时很清楚。 setPath指向socket.io.js及其lib-directory所在的文件夹,相对于使用它的html文件。这是闪存套接字工作所必需的。

  4. 嗯,事情并非那么简单。您可以查找PID usind'ps ux'然后使用PID'kill'进程。更好的方法是使用暴发。或者您使用autorestart通过代码执行此操作。