错误的socket.io net :: ERR_CONNECTION_TIMED_OUT

时间:2019-02-16 01:54:40

标签: javascript node.js socket.io

我有一个实时聊天的网站,它可以在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>

我该如何解决这个问题?非常感谢。

1 个答案:

答案 0 :(得分:0)

似乎您的服务器上正在运行HTTP服务器。

但是,您正尝试在客户端脚本中使用HTTPS连接到服务器。

尝试运行HTTPS服务器,或者如果对HTTP没问题,请更改客户端代码以通过HTTP连接。