Firefox Can';我无法建立我的联系
我正在尝试通过谷歌云托管一个聊天应用程序,在将端口号更改为8080后,我第二次尝试已经足够成功,只是为了查看html页面 现在我的问题是,在通过firefox检查元素后,我无法再看到屏幕上显示的消息,这是我在pc上托管它时成功看到的 我在尝试发送消息时经常收到的错误消息是: 旁边有一个黑色的X: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
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>