【问题标题】:Laravel socket.io doesn't work, failed socket connect, how to fix?Laravel socket.io 不工作,socket 连接失败,如何解决?
【发布时间】:2021-06-29 04:14:12
【问题描述】:

我正在尝试创建实时聊天。 Socket.io 和 node.js 我无法将用户连接到我的频道。 https://domen.com:8005/socket.io/?EIO=3&transport=polling&t=NYHmcgH:失败

这是我的 server.js

var app = require('express')();
var https = require('https').Server(app);
var io = require('socket.io')(https);
var Redis = require('ioredis');
var redis = new Redis();
var users = [];

https.listen(8005, function () {
    console.log('Listening to port 8005');
});

io.on('connection', function (socket) {
    socket.on("user_connected", function (user_id) {
        console.log("user connected " + user_id);
        // users[user_id] = socket.id;
        // io.emit('updateUserStatus', users);
        // console.log("user connected "+ user_id);
    });

这是我的刀片模板

    <script>
            $(function () {
                let user_id = "{{ auth()->user()->id }}";
                console.log(user_id);
                let ip_address = 'domen.com';
                let socket_port = '8005';
                let socket = io(ip_address + ':' + socket_port);
            });
    
      socket.on('connect', function () {
                    socket.emit('user_connected', user_id)
                });
</script>

【问题讨论】:

  • @Poma 检查 8005 端口是否开启

标签: php node.js laravel sockets


【解决方案1】:

用 https 表示需要一些键

var https = require('https')
var app = express()

https.createServer({
  key: fs.readFileSync('server.key'),
  cert: fs.readFileSync('server.cert')
}, app)
.listen(8005, function () {
  console.log('Example app listening on port 8005! Go to https://domen.com:3000/')
})

我认为你应该先尝试使用http,如果你的代码运行良好,那么你可以升级到https

var io = require('socket.io')(http);
http.listen(8005, function () {
    console.log('Listening to port 8005');
});

在客户端:

let ip_address = 'http://domen.com';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-21
    • 2019-02-22
    相关资源
    最近更新 更多