当前位置:  开发笔记 > 编程语言 > 正文

ERR_CONNECTION_REFUSED http:// localhost:3000/socket.io/socket.io.js

如何解决《ERR_CONNECTION_REFUSEDhttp://localhost:3000/socket.io/socket.io.js》经验,为你挑选了1个好方法。

Ciao,我正在实现webRTC多对多视频会议系统,实际上,我已经做到了,我使用socket.IO作为信令服务器,一切都很顺利,我使用EnterpriseDB Apache来提供我的.html文件在端口(8081)和Node.js上为端口(3000)上的socket.IO提供服务,它在localhost中工作就像魅力一样,没有错误,我的ISSUE服务于我的公共IP的外部访问,我正在和我的朋友一起测试这些浏览服务:www.browserstack.com和www.browserling.com(试用版).

通过www.browserstack.com,无论是mozilla 42还是chrome 47,一切都运转良好

通过www.browserling.com,我收到了这些错误

Firefox 41:ReferenceError:未定义io

Chrome 45:无法加载资源 http:// localhost:3000/socket.io/socket.io.js net :: ERR_CONNECTION_REFUSED未捕获的ReferenceError:未定义io

和我的朋友们一样,我遇到了与www.browserling.com相同的问题,但他们使用最新的浏览器版本(Chrome 47和Firefox 42)连接到我的PC服务器.

我认为这不是浏览器版本问题,问题在于提供socket.io.js文件,最后,这是我的代码:

它只显示了解决这个问题的重要事项:

///NODE.JS DIRECTORY
////////////////////serverside.js
var port = 3000;
var io = require('socket.io').listen(port);
io.sockets.on('connection', function (socket){.........}


///APACHE DIRECTORY
////////////////////clientside.js 
//Connect to signalling server   
var socket = io.connect("http://localhost:3000");

////////////////////avq.html




    
     
    
        
        
    

这是我的服务器URL,如果有人想尝试:http://201.209.104.33: 8081 /webrtcexamples/avq.html



1> jcaron..:

localhost是一个特殊的主机名,指向与请求它的计算机相同的计算机.因此,使用与您的计算机不同并尝试连接的任何人都localhost将尝试连接到自己的计算机,而不是您的计算机.由于服务器未在其计算机上运行,​​因此很明显会出现"连接被拒绝"错误.

您需要替换localhost为全局可访问的地址(域名或IP地址).这也意味着您需要让路由器将您的外部IP地址映射到运行此端口的服务器的计算机(否则它们将连接到您的路由器,而不是您的服务器).


@ user4216713,我告诉你这绝对是个问题.`localhost`绝对是对当前本地计算机的引用,正如使用该地址的人所看到的那样.没有人可以使用`localhost`连接到您的计算机.
推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有