socket.io – polling-xhr.js:264 GET错误

我一直在我的本地主机上的聊天应用程序(这工作正常),但是当我试图承载它在Github或000webhost上 ,我得到这个错误polling-xhr.js:264在两个主机(两个主机有一个https连接)。 我正在使用cfenv来parsingCloud Foundry提供的环境variables。 以下是有关错误的图片:

错误

它会继续这样下去…

这是看我的代码:

server.js

 var cfenv = require('cfenv'); var appEnv = cfenv.getAppEnv(); var express = require('express'); var app = require('express')(); var server = require('http').Server(app); var io = require('socket.io')(server); server.listen(appEnv.port, appEnv.bind, function(){ console.log("Server starting on " + appEnv.url); }) app.use(express.static(__dirname + '/')); ... // rest of socket.io code 

的index.html

 ... <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.3/socket.io.js"></script> ... 

socketService.js( btford的socket.io扩展 )

 app.factory('socket', function(socketFactory){ return socketFactory(); }); 

我已经尝试了在StackOverflow上build议的各种代码,但我似乎无法得到正确的答案 。 我的代码和localhost一起工作得很好,但是当有一个像上面提到的那样的实际的服务器时,它不起作用。

非常感谢您的帮助!

两台主机都有一个https连接

但是你有你的服务器代码:

 require('http'); 

尝试使用https模块而不是http 。 这也许可以解释为什么该应用只能在本地主机上运行。 希望这可以帮助 :)

编辑

您还应该validation您的服务器正在侦听端口443而不是80

我刚从一位好朋友那里得知,我所托pipe的服务器不支持node.js ,这就是为什么它不起作用。 当我的朋友安装了他的服务器,它的工作非常好。