Run remotely does not connect to remote computer

Hi Mike. Not sure how that could improve the situation. Likely the IDE waits for a reply to its request to connect and gives up on timeout, with a time limit set to 60secs. If the IDE sends a UDP connection, it will still need to decide when it should stop waiting for a reply, that will never come if the target is not accessible.

Another approach maybe to let the user define the value of the time limit (when the IDE assumes the request timed out) This will make the user aware of that time limit.

If the IDE pro-actively pings the different remote hosts in the background and reports the status in the remote run setting (green when the remote debugging stub replied, red when the request timed out, yellow when waiting for reply or timeout), you still have the case when you launch the remote debugging stub just before you start remote debugging, the IDE would prevent the connection until the next ping, this user experience is counter intuitive, and users will complain: “Why do I have to wait 30 secs after launching the remote sub to get remote run to work ?”.

If Xojo team has time to work on the remote debugging (IDE side) I would suggest first to create transparency on what is happening behind the scene, for example a dedicated log file/window where we can find connection steps, status, catched exceptions, …
Added as feature request (please like it :slight_smile: ): xojoinc/xojo#78094

2 Likes

I debug over wifi to machines on the local subnet, to Parallels, and to machines around the globe via ZeroTier, and I never even noticed the Network Interface drop-down until you mentioned it - I’ve always just left it at Default and everything has worked. Any issues I’ve had have always turned out to be firewall-related.

1 Like

Interesting! I just tried a quick test, and indeed, when set on Default it work fine to remote debug to a local VM, but if set it to other interfaces, it fails.

I’m not sure I even knew that there was a Default option. I wonder if this didn’t exist a few years ago, and I simply wasn’t aware of it?

Default binds the network components to all network interfaces. 99.999% of the time it’ll work just fine, but there are times when it just wont connect (in my experience, over a VPN and through a router on the other end) where you have to actually select the correct one. Especially if you have multiple network connections and the target isn’t network isn’t your primary network.