ejjrooom

Auto-reconnect on IP change

6 posts in this topic

Under Connection Settings, I have Bind Address set to 0.0.0.0 (default), Firewall with Manual Port Forwarding set for incoming connections, all 4 ports specified (and forwarded properly) and Update IP on DHT Firewall Check selected. Connection checks out fine, and everything ordinarily works just fine (my External/WAN IP is detected properly during startup).

Problem is, at all odd times without warning my dynamic IP address changes and I get kicked off the hubs due to "incorrect IP address in connection request" related errors. Thing is, the "get IP Address" button always works, and then I can manually reconnect to all the hubs, but of course when this happens and I'm not around (or am sleeping), the downloads get interrupted unnecessarily.

Since the client ought to know when this sort of situation has arisen (booted off hub due to incorrect IP address), why can't it just retrieve the proper IP address and reconnect to the hubs automatically if downloads were interrupted? This would ensure that one doesn't need to check the app every few hours (not always possible in any case) and prevent wastage of time, electricity and so on.

Oh, and please don't suggest dynamic DNS as a solution, since I hate running that IP updater client, and in any case this is a feature request for a common situation that the client should be able to handle quite easily IMO.

Share this post


Link to post
Share on other sites

You are right. But when the hub kicks a user out because of invalid IP address, the client doesn't know the reason - it's just a generic message. At least in NMDC, don't know if ADC has a mechanism for this...?

Share this post


Link to post
Share on other sites

Ok, if the client truly does not know and the devs say there's no way of knowing the reason (say by parsing the error message?), then how about a user-configurable reconnection timer? I know "Update IP on DHT Firewall Check" runs approx. every hour, but that doesn't make the client reconnect to all open hubs, does it? Also, an hour's just too long for the client to be sitting idle if this sort of situation has occurred. Instead, how about having a text field where we can enter a time period in secs., and every time that interval has passed the client will update the IP and try to reconnect to all open hubs? Is this doable?

Share this post


Link to post
Share on other sites

Parsing the message is not a good way because every hubsoft uses a different message. Some hubsofts don't even kick you out. And we cannot be dependent on a message that can be localizable and is subject to change.

About reconnection period: I know the client already has that one - it will reconnect automatically if connection from hub has been suddendly dropped. Maybe also in other circumstances...

But I don't think this period is customizable. I only know that some other clients (the ones considered as 'fake' ones) have this kind of setting and are attempting to reconnect to hubs whatever was the reason for disconnection. This puts huge load on hubs.

Share this post


Link to post
Share on other sites

So there's no way to automate reconnection from within the client itself? Come on, I'm in no way suggesting that hubs should be hammered, but in legit cases where disconnection has suddenly occurred due to IP change, surely something can be done?

Share this post


Link to post
Share on other sites

On the other hand, client can check IP automatically every X minutes (but it probably does currently). Then it could reconnect all disconnected hubs, that makes perfect sense. This just puts the load on the server used for getting the IP address but I think that is OK if we have a pool of servers to (presumably randomly) choose from.

Perhaps some1 of the dev team can enlighten us...?

Share this post


Link to post
Share on other sites