【问题标题】:AppFog node.js client cannot load socket.ioAppFog node.js 客户端无法加载 socket.io
【发布时间】:2013-01-09 22:28:05
【问题描述】:

我刚刚将一个 node.js 站点部署到 AppFog。当我转到“http://localhost:8080”时,它在本地运行良好,但是当我到达 AppFog 上的那个时:http://bandwithfriends.aws.af.cm/ 我收到以下 Chrome 控制台错误:

XMLHttpRequest cannot load http://localhost:8080/socket.io/1/?t=1357769454152. Origin http://bandwithfriends.aws.af.cm is not allowed by Access-Control-Allow-Origin.

服务器代码:

var app = require('http').createServer(handler),
    io = require('socket.io').listen(app),
    static = require('node-static'); // for serving files

// This will make all the files in the current folder
// accessible from the web
var fileServer = new static.Server('./');


app.listen(process.env.VCAP_APP_PORT || 8080);

io.configure('development', function(){
  io.set('transports', ['xhr-polling']);
});

客户代码 index.html: 我包括这样的socket.io:

<script src="/socket.io/socket.io.js"></script>

客户代码 script.js:

var url = 'http://localhost:8080';
var socket = io.connect(url);

我该如何解决这个问题?

【问题讨论】:

  • 我遇到了完全相同的问题,var app = require('http').createServer(handler), 中的handler 是什么我尝试使用您的代码但未定义
  • 确保包含处理函数: function handler (request, response) { request.addListener('end', function () { fileServer.serve(request, response); // 这将返回正确的文件}); }

标签: node.js socket.io appfog


【解决方案1】:

我所要做的就是删除客户端代码中的 url:

var socket = io.connect();

希望这可以帮助遇到同样问题的其他人!

【讨论】:

    【解决方案2】:

    你的客户端和服务器端都错了。

    在客户端;进行此更改:

    var url = io.connect('http://<your domain name>');
    //For example: var url = io.connect('http://shash7.ap01.aws.af.cm');
    

    在服务器端,你需要像这样实现socket.io:

    var app = require('express')()   , server =
    require('http').createServer(app)   , io =
    require('socket.io').listen(server);
    
    server.listen(80);
    

    以上代码取自 socket.io 站点。他们在 0.9 版本中改变了 socket.io 的监听方式,所以使用上面的版本。

    除此之外,一切看起来都很好。如果您仍然无法解决这个问题,请告诉我。

    【讨论】:

    • 我想通了,看我的回答。我正在寻找一种无需快递的方法,但感谢您的帮助!
    • 没有快递?没看到那个。我的坏。
    • 别担心,我还是给了你一票;)。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2015-07-11
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 2019-04-15
    • 2018-03-27
    • 2020-10-14
    相关资源
    最近更新 更多