tlaverdure / laravel-echo-server

Socket.io server for Laravel Echo
MIT License
2.65k stars 511 forks source link

Unable to connect with `laravel-echo-server` with latest `socket.io-client` #576

Open kartiksprajapati opened 3 years ago

kartiksprajapati commented 3 years ago

Describe the bug Whenever I try to connect with laravel-echo-server with the latest socket.io-client and laravel-echo, it does not connect to the laravel-echo-server, however If I downgrade socket.io-client version to 2.3.0, it works like charm.

I don't know why it is failing

To Reproduce Steps to reproduce the behavior:

  1. Install laravel-echo and socket.io-client on fresh vue project.
  2. Add this code to src/main.js
window.io = require('socket.io-client');

window.Echo = new Echo({
    broadcaster: "socket.io",
    host: "http://localhost:6001",
    transports: ["websocket"]
});

window.Echo.channel('user-channel')
    .listen('UserEvent', e => {
        console.log(e);
        alert(e.name);
    });

window.Echo = Echo;
  1. But, If I downgrade to v2.3.0, then it works, same version as of socket.io in laravel-echo-server/package.json

Expected behavior It should connect to the laravel-echo-server but won't connect

Additional context But, if the socket.io-client downgrade to v2.3.0 it works, not working with the latest version.

mattvb91 commented 3 years ago

Just came across the same issue downgrading worked

kartiksprajapati commented 3 years ago

And, downgraded version is also not safe

mattvb91 commented 3 years ago

572 might be a fix but I havent had the chance to check it yet, looks like this repo is abandoned

kartiksprajapati commented 3 years ago

yaa... that's true I think so... I will try that package soon...

nguyentranchung commented 3 years ago

Because socket.io is using version 2 https://github.com/tlaverdure/laravel-echo-server/blob/6a4125d96d238c2e99c09c9918925ef6322aca35/package.json#L32 the client must also use version 2

bradleyking-dev commented 3 years ago

When i downgraded socket.io-client to 2.3.0 it works

dof-wmy commented 2 years ago

Because socket.io is using version 2

https://github.com/tlaverdure/laravel-echo-server/blob/6a4125d96d238c2e99c09c9918925ef6322aca35/package.json#L32

the client must also use version 2

https://socket.io/docs/v4/client-installation/index.html

image

rrolla commented 2 years ago

Here is discussion how to get it working for me works with socket.io-client v4 https://github.com/laravel/echo/issues/290#issuecomment-950324453

rroblik commented 2 years ago

Is this will be fixed or never ?