4

我制作了一个 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-address] 是我的服务器 IP 地址

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

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

他们是否因为这篇文章而阻止了它?

是否有任何免费的 node.js 托管解决方案可以运行像上面这样的 socket.io 客户端应用程序?

谢谢。

4

3 回答 3

3

Depending on your needs you could create a free Heroku account. You wont have access to a database, and you're limited in resources, but if the app is small enough and efficient enough it could suffice.

于 2012-06-19T22:43:28.757 回答
3

Nodejitsu目前是免费的 node.js 托管解决方案,一切正常(包括socket.io

于 2012-06-19T15:25:38.570 回答
1

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

于 2016-12-15T14:42:29.503 回答