我有一个实时聊天的网站,它可以在localhost上正常运行,但在服务器上却出现此错误。
https://app.webku.org:8181/socket.io/?EIO=3&transport=polling&t=MZpzI2p
net::ERR_CONNECTION_TIMED_OUT
这是我的server.js
var express = require('express');
var http = require('http');
var app = express();
var server = http.createServer(app);
server.listen(8181);
var io = require('socket.io').listen(server);
io.on('connection', function(socket){
socket.on('new_chats', function(data){
io.emit('new_chats', { ua: data.ua, message: data.message });
});
socket.on('disconnect', function(){
console.log('State disconnected');
});
});
这是在客户端
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js" charset="utf-8"></script>
<script>
var socket = io.connect('https://app.webku.org:8181');
$(document).on('keypress', function(e){
var key = e.keyCode || e.which;
var msg = 'testing message';
if( key == 13 ){
socket.emit('new_chats', { ua: <%= user[0].user_id %>, message: msg });
}
});
socket.on('new_chats', function(data){
var d = new Date();
var t = d.getHours() +':'+ d.getMinutes();
var tpos = 'text-left';
if(data.ua == <%= user[0].user_id %>){ tpos = 'text-right'; }
$('#_icard'+ua).find('.ibody ul').append(
'<li class="'+tpos+'">' +
'<div> '+data.message+' <small class="small">'+t+'</small> </div>' +
'</li>'
);
});
</script>
我该如何解决这个问题?非常感谢。
答案 0 :(得分:0)
似乎您的服务器上正在运行HTTP服务器。
但是,您正尝试在客户端脚本中使用HTTPS连接到服务器。
尝试运行HTTPS服务器,或者如果对HTTP没问题,请更改客户端代码以通过HTTP连接。