Skip to content
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

disconnect event delay too much #95

Open
kitech opened this issue Jan 5, 2017 · 2 comments
Open

disconnect event delay too much #95

kitech opened this issue Jan 5, 2017 · 2 comments

Comments

@kitech
Copy link

kitech commented Jan 5, 2017

when i reconnect my wifi, after about 260 seconds, another irc client see goirc deamon timeout.
but the goirc daemon emit disconnect event after about 15 minutes.
want to known is this normal?

@fluffle
Copy link
Owner

fluffle commented Jan 8, 2017

It's hard to be sure given the information you have provided.

  • What OS are you using?
  • What state are all clients in before you disconnect the wifi?
  • How is the wifi being disconnected?
  • How long is the wifi disconnected for?
  • When you reconnect the wifi do you reconnect the other client to the server manually?
  • When you reconnect the wifi does it get a different IP address via DHCP?
  • Where is the server in relation to the clients? On a local network? Freenode?
  • What timeouts and ping frequency are configured on the IRC server?

If I had to take a guess at what is happening here, I'd say:

Disconnecting/reconnecting your wifi probably involves a reset of the wireless network interface and thus all state associated with the currently active TCP connections being dropped. The server will be pinging your goirc client regularly; when the connection drops the client will no longer respond to pings and after 260 seconds (I'm guessing this is the server's timeout setting) in this state the server will forcibly drop the client connection.

The goirc client will by default ping the server every 3 minutes, so what I think ought to happen is that those writes also fail because the TCP connection no longer exists. But that doesn't seem to be happening. I'm not sure why, you are going to need to provide more information for me to help further.

@kitech
Copy link
Author

kitech commented Jan 9, 2017

I am not very sure too.
I think goirc will ping timeout for shortly, but sometime the disconnect event emit too long.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants