Firefox Can';我无法建立我的联系

Firefox Can';我无法建立我的联系,firefox,socket.io,google-cloud-platform,Firefox,Socket.io,Google Cloud Platform,我正在尝试通过谷歌云托管一个聊天应用程序,在将端口号更改为8080后,我第二次尝试已经足够成功,只是为了查看html页面 现在我的问题是,在通过firefox检查元素后,我无法再看到屏幕上显示的消息,这是我在pc上托管它时成功看到的 我在尝试发送消息时经常收到的错误消息是: 旁边有一个黑色的X: GET http://bla.appspot.com/socket.io/ 然后: 之后: POST XHR http://bla.appspot.com/socket.io/ Firefox

我正在尝试通过谷歌云托管一个聊天应用程序,在将端口号更改为8080后,我第二次尝试已经足够成功,只是为了查看html页面

现在我的问题是,在通过firefox检查元素后,我无法再看到屏幕上显示的消息,这是我在pc上托管它时成功看到的

我在尝试发送消息时经常收到的错误消息是:

旁边有一个黑色的X:

GET 
http://bla.appspot.com/socket.io/
然后:

之后:

POST 
XHR 
http://bla.appspot.com/socket.io/

Firefox can't establish a connection to the server at ws://bla.appspot.com/socket.io/?EIO=3&transport=websocket&sid=5Z6HGjPLI5L2ddNHAADj.
然后:

The connection to ws://bla.appspot.com/socket.io/?EIO=3&transport=websocket&sid=9Ps_KY0O0UvKfWePAADz was interrupted while the page was loading.
第二个和第三个长句只是不断地冲洗和重复

我不确定socket.io为什么会出现在这行的末尾,但出于某种原因它出现了

以下是我与发送和接收消息相关的代码:

"use strict";

var app = require ('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function(req, res){
    res.sendFile(__dirname + '/index.html');
});

io.on('connection', function(socket){
    socket.on('chat message', function(msg){
        io.emit('chat message', msg);
    });
});

http.listen(8080, function(){
    console.log('listening on *:8080');
});
这是我的HTML文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Socket.IO chat</title>
    <style>
        *{ margin: 0; padding: 0; box-sizing: border-box; }
        body { font: 13px Helvetica, Arial; }
        form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; }
        form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; }
        form button { width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; }
        #messages { list-style-type: none; margin: 0; padding: 0; }
        #messages li { padding: 5px 10px; }
        #messages li:nth-child(odd) { background: #eee; }
    </style>
</head>
<body>
<ul id="messages"></ul>
<form action="">
    <input id="m" autocomplete="off" /> <button>Send</button>
</form>
<script src="/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script>
    var socket = io();
    $('form').submit(function(){
        socket.emit('chat message', $('#m').val());
        $('#m').val('');
        return false;
    });
    socket.on('chat message', function(msg){
        $('#messages').append($('<li>').text(msg));
    });
</script>
</body>
</html>

Socket.IO聊天
*{边距:0;填充:0;框大小:边框框;}
正文{字体:13px Helvetica,Arial;}
表单{background:#000;填充:3px;位置:固定;底部:0;宽度:100%;}
表单输入{边框:0;填充:10px;宽度:90%;右边距:5%;}
窗体按钮{宽度:9%;背景:rgb(130224255);边框:无;填充:10px;}
#消息{列表样式类型:无;边距:0;填充:0;}
#消息li{padding:5px 10px;}
#留言李:第n个孩子(奇数){背景:#eee;}
    发送 var socket=io(); $('form')。提交(函数(){ emit('chat message',$('#m').val()); $('m').val(''); 返回false; }); socket.on('chat message',函数(msg){ $(“#消息”).append($(“
  • ”).text(msg)); });
  • 有人能帮我吗?这件事一直困扰着我,我就是不知道该怎么做


    提前谢谢。

    所以我已经解决了我的问题

    事实证明,导致实际问题的是index.html代码中的一行

    <script src="http://code.jquery.com/jquery-1.11.1.js"></script>
    

    
    

    这将阻止firefox/chrome拦截内容

    您知道您的Google云配置是否支持webSocket连接(socket.io使用的连接)?或者,你知道为了支持webSocket连接,你是否必须修改谷歌云配置中的某些内容吗?仅供参考,per和其他一些人看来,你必须在socket.io服务器上使用谷歌计算引擎。老实说,在使用谷歌云时,我还是个新手。到目前为止,我只知道如何在本地工作,而不知道如何在云端工作。我不知道如何配置谷歌云,这样它就支持Websocket连接了。我到处都看过如何做到这一点,但还没有完全找到如何实现这一点。我也看到了你发来的那篇文章,但它并没有真正让我更接近于使用谷歌计算引擎。我不是谷歌云的人,所以我无法帮助你了解细节。我只是想引导你找到合适的东西去寻找或询问。由于socket.io使用webSocket,这是一种持久连接,因此它打破了许多托管公司仅用于处理短连接http请求的原始模式。这意味着您通常必须以不同的方式进行配置,或者购买/使用不同的服务,以使socket.io在托管站点上工作。例如,更多的“共享”托管站点(较便宜的托管类型)不支持它。老实说,我非常感谢您的帮助。我只是希望有一些友好的指南,告诉我如何在云上正确连接这个应用程序,这样我就能看到一些有用的东西了。但不幸的是,目前还没有这样的材料(
    <script src="http://code.jquery.com/jquery-1.11.1.js"></script>
    
    http:
    
    <script src="http://code.jquery.com/jquery-1.11.1.js"></script>