Open maximilien0405 opened 4 months ago
Hi! That's weird indeed. It seems the client is not even able to reach the server.
Is the server reachable? What happens if you restart the server? nginx? You mention using a device, are you on Android? iOS?
Yes the server is reachable since i can connect it from another device or if i just reload the app. If i restart the server nothing changes, they still can't connect, even though they try to reconnect. It happens on IOS and Android. All of my devices are turned on and the app is open h24 Right now i just added a catch to the "ping timeout" error and added a location.reload() to reload the app and reconnect to the server (hopefully). I will also implement a way to do a location.reload() once a day, just to reconnect to the socket freshly and prevent any timeout problem @darrachequesne
Edit : Also important to note that all of them disconnected at the same time (i have some logs if you need)
Edit 2 : Maybe my error on socket.io-admin-ui
is related to the problem ? (https://github.com/socketio/socket.io-admin-ui/issues/86)
Once try that if you are emitting some random data at fix time interval probably less than 1/2 hrs as it appears that there is a time out error also try connecting it with new devices after this error arises
yes, i am also facing the same issue if anyone knows how to solve this issue please revert. my application is always open on desktop either in minimize or in focus. but after some random time. on server it is showing that user is disconencted due to pingTimeout. i am using the latest version of socket io client and socket io both. website is build using mern
@maximilien0405 have u got any permanent solution rather that the hacks like window.reload and all. is this window.reload mechanism works properly
@darrachequesne please help
client code :
socket = io(serverurl.com/react-client
, {
path: "/api2/socket.io",
query: { accounts: jsonString },
forceNew: true,
});
server code:
const io = new Server(server, {
cors: {
origin: "*",
},
path: "/api2/socket.io/",
pingTimeout: 60000, // 1 minute
pingInterval: 2000, // 2 second
});
@GautamJain133 Yes the window.reload works but like you said it's not a great solution.. but also i think it's nice sometime to reload the socket connection if it's connected for long periods of time, so until a solution is found it's not that bad :/
Folks we are facing the same issue on Chrome where this ping pong mechanism is causing a whole bunch of issues. Is there a way to disable this ping pong also what is the client you are using. This issue seems to be more with Chrome than other browser
Hi, i'm having a bit of a issue with my project. I'm building an app that will stay opened at all times in the device, with a non-stop connection through the sockets. However lately, all of my sockets disconnect and can't reconnect. I managed to print some logs from the device and here it is :
As you can see on the screenshot, the socket connection starts at around 1:30 AM and then is disconnectd at 7:30 AM, but manages to reconnect each time until 9:14 where it disconnects and then can't reconnect with the reason "ping timeout".
I'm not sure where is the problem here. I'm using Angular 17 with ngx-socket-io version 4.6.1. In my backend i use NestJS with socket-io 4.7.2.
Since this problem that happend this morning i did theses steps to try to fix the problem (i haven't tried it yet) :
Any idea what could be causing the problem ? Also it's important to note than in my APP i have an interval that tries to connect to the socket every minute just in case it's disconnected, but as you can see on the logs, it can't even reconnect 🤔
@darrachequesne