-
Notifications
You must be signed in to change notification settings - Fork 137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
client callback OnDisconnected always being called twice #126
Comments
I've encountered the same issue. I think that the #121 change is incorrect. I'm getting the Disconnected event without it. Just make sure to always call client.Tick() in the Unity's Update loop even if the client is not connecting/connected. Maybe that was the root cause of @imerr's issue that prompted him to implement that "fix" (?) |
Do we have a solution yet? |
If you want to fix it, try to remove line 178 from Client.cs. Telepathy add this message to queue when disconnecting from server and closing thread. I think it's too much for this // add 'Disconnected' event to receive pipe so that the caller Fix me If I am wrong So when client is unable to connect to server, this event wont be invoked. You choose |
The intention of pull #121 from @imerr was to have the callback
client.OnDisconnected
being called within the client even in case of socket errors or different exceptions.I think that intention was fulfilled. This can be verified for example by calling
client.Connect("localhost", 13378888);
which uses an invalid port.On the other hand I think that the change had unintended side effects. In my project I can see that within the client during regular, error-free use the callback
client.OnDisconnected
is always called twice. It does not matter whether the client or the server initiated the disconnect.In my opinion that callback should only be called once (not twice).
My knowledge about Telepathy is not good enough to suggest an improvement or even create a pull request, sorry.
The text was updated successfully, but these errors were encountered: