Opening Connections Asynchronously

In some cases, especially when working with Internet, Wide Area Network (WAN), or Remote Access Service (RAS) connections, the time required to establish a connection can increase dramatically. While a few seconds should be enough for a typical LAN connection, a WAN might take several minutes or more to connect. There are several ways to pre-empt problems when attempting to make these connections:

The most important aspect of these techniques is to keep the user informed and to prevent the application from blocking. If your application, through no fault of its own, seems to lock up while attempting to establish a connection, the user will have a tendency to try to cancel the operation in any way that presents itself — including rebooting the computer.