0

I am trying to create a live chat. Socket.io and node.js I can't connect the user to my channel. https://domen.com:8005/socket.io/?EIO=3&transport=polling&t=NYHmcgH :failed

Here is my 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);
    });

and here is my blade template

    <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>
1
  • @Poma Check 8005 port is on Commented Apr 2, 2021 at 9:41

1 Answer 1

1

express with https needs some keys

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/')
})

i think you should try first with http, if your code works well then you can upgrade to https

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

in client side :

let ip_address = 'http://domen.com';
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.