使用Socket.io客户端支持的Node.js?

我做了一个socket.io客户端应用程序连接到我的socket.io服务器,然后他们沟通他们需要的任何东西。

当我在一台机器上甚至在两台不同的本地机器上进行本地操作时,一切正常。 所以我试图在cloud9上部署客户端,并一直抛出这个错误:

net.js:540 connectReq = self._handle.connect(address, port); Error: No local connects allowed for security purposes at connect (net.js:540:31) at net.js:607:9 at Array.0 (dns.js:88:18) at EventEmitter._tickCallback (node.js:190:38) 

客户端代码是, 其中[IP地址]是我的服务器IP地址

 var io = require('socket.io-client'), socket = io.connect('[ip-address]', { port: 1337 }); 

有没有办法在c9.io上运行这样的socket.io客户端?

他们是否因为这篇文章而被封锁?

有没有免费的node.js托pipe解决scheme,可以运行一个像上面那样的socket.io客户端应用程序?

谢谢。

根据您的需要,您可以创build一个免费的Heroku帐户。 您无法访问数据库,并且资源有限,但是如果该应用程序足够小且足够高效,那么就足够了。

Nodejitsu是目前免费的node.js托pipe解决scheme,一切正常(包括socket.io )

OpenShift使用端口8080和Heroku 3000。

客户端代码必须是这样的:

 // Wrong!: // mySocket = io.connect(host, port); // Right: mySocket = io(); mySocket.on(....); 

服务器代码看起来像这样:

 var express = require('express'), app = express(), server = require('http').Server(app), io = require('socket.io')(server); app.use(express.static('path/to/public/html')); server.listen(8080); // OpenShift 8080, Heroku 3000 io.on(...); 

https://devcenter.heroku.com/articles/node-websockets#create-a-socket-io-client