2017-08-27 149 views
1

我有一个实时聊天网站它工作在本地主机上没有错误,但在服务器上我得到这个错误:socket.io网:: ERR_CONNECTION_TIMED_OUT错误

http://my.domain:52398/socket.io/?EIO=3&transport=polling&t=LuZMbMn net::ERR_CONNECTION_TIMED_OUT 

i.create @ socket.io.min.js:2 
i @ socket.io.min.js:2 
o.request @ socket.io.min.js:2 
o.doPoll @ socket.io.min.js:2 
n.poll @ socket.io.min.js:2 
n.doOpen @ socket.io.min.js:2 
n.open @ socket.io.min.js:2 
n.open @ socket.io.min.js:2 
n @ socket.io.min.js:2 
n @ socket.io.min.js:1 
n.open.n.connect @ socket.io.min.js:1 
(anonymous) @ socket.io.min.js:1 

的server.js文件含有的一部分:

var express = require("express"), http = require('http'); 
var app = express(); 
var server = http.createServer(app); 
var port = 52398; 
var io = require('socket.io')(server); 
server.listen(port, 'my.domain'); 

而且client.js文件连接的部分是:

var socket = io.connect('http://my.domain:52398'); 

我使用共享托管所以他们说我个人有T o使用49152到65535之间的空闲端口号,安装Node.js也安装npm,Node版本是4.6.2,服务器的OS是Centos。

我搜索了很多改变的端口,通过服务器ip更改了域名,更改了服务器连接代码和...现在我不知道什么是错误的帮助,请 谢谢。

回答

0

更改您server.js文件的第五行这样:

var io = require('socket.io').listen(server); 

之后,由于您的明确程序和socket.io服务器在同一端口上运行,你应该改变var socket = io.connect('http://my.domain:52398');var socket = io();

+0

谢谢,我做了错误消失,但在检查网络选项卡时,套接字尝试连接它重定向我的域名主页与此标头: ------ 请求URL:http://www.example.com/ 请求方法:GET 状态码:200 OK 远程地址:209.124.66.15:80 引用策略:无引用者降级 ----- 它重复每一个连接 –

+0

看起来你的网站使用HTTPS,但你使用的是没有加密的websockets。 – itsundefined

+0

尝试以下操作:var socket = io.connect('https:// yoursite',{secure:true}); – itsundefined