【问题标题】:io.connect not working on local html pageio.connect 在本地 html 页面上不起作用
【发布时间】:2013-08-05 20:08:53
【问题描述】:

我有一个需要通过套接字连接到 node.js 服务器的 html 页面。

代码在我的 EC2 上托管的 html 页面中有效,但是,当我将它放在我机器上的 HTML 页面上时,它不起作用。这是我的代码:

<script type="text/javascript src="http://54.213.92.113:8080/socket.io/socket.io.js"></script>
<script type="text/javascript src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script type="text/javascript">

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

    $(document).ready(function(){

        socket.on('jqplot', function(sentdata){
            alert(sentdata);
        });

    });
</script>

我不知道为什么这不起作用...我觉得我做的一切都不正确!

当我注释掉 var socket = io.connect('http://54.213.92.113:8080'); 行时,javascript 起作用了

【问题讨论】:

  • 好吧,54.213.92.113:8080 似乎无法访问。您还错过了一些 " 的一些 type 属性。而且,您使用的是什么浏览器? Do they support WebSockets?
  • 您知道socket.io 是否正在退回到long-polling 或类似的东西?跨域请求存在潜在问题。
  • @JonathanLonowski 对此感到抱歉......服务器没有打开。我添加了缺少的引号,现在可以使用了!!感谢您的帮助!

标签: javascript mysql node.js socket.io


【解决方案1】:

54.213.92.113是外部EC2地址吗?

实例(安全组)的8080端口是否开放?

  1. ping - 使用外部或 ElasticIP
  2. nmap(我检查了,它无法访问)- 将 8080 添加到实例分配的安全组

【讨论】:

  • 暂时没有,我把它关了。我已经弄清楚了这个问题。这是一个缺少的引号。
猜你喜欢
  • 1970-01-01
  • 2016-09-13
  • 1970-01-01
  • 2020-11-20
  • 1970-01-01
  • 1970-01-01
  • 2011-01-11
  • 2019-09-14
  • 1970-01-01
相关资源
最近更新 更多