Page 93 - Mercury Manual.book
P. 93

MercuryX, dialling and scheduled access  88
                                                                                          Dialling considerations



                                       area network. This mode is particularly suited to environments where dial-on-demand
                                       routing or ISDN is used.
                                    •  Clients/servers  When this option is selected, MercuryX will wait until all clients indi-
                                       cate that they are idle before shutting them down. It will also wait until all server mod-
                                       ules are idle before terminating the connection, but will not actually instruct the server
                                       modules to go offline. This mode is intended to handle cases where the server modules
                                       may be able to accept connections from both the outside world while the connection is
                                       established, and from your local area network at other times.

                                    Dialling considerations



                                    The process of dialling and hanging up intermittent Internet connections can be one of the
                                    most frustrating and complex issues in the Windows environment.

                                    Properly speaking, dialling and hanging up are functions of the Windows networking com-
                                    ponent that provides TCP/IP protocol support. This module, called WSOCK32.DLL, is a Mi-
                                    crosoft-supplied component that is a built-in part of Windows. Unfortunately, it does not
                                    work correctly, and is unlikely ever to do so - Microsoft have shown no inclination to address
                                    its quite significant shortcomings. To explain why dialling and hanging up are system func-
                                    tions and not application functions, consider the situation where Mercury/32 is running at the
                                    same time as the user on the workstation is accessing the Internet using a web browser. If
                                    Mercury hangs up the connection, then the web browser will also be disconnected; similarly,
                                    if the user closes down the web browser and it hangs up the connection, Mercury will be cut
                                    off in mid-stream. Clearly, the system-level Network module, WSOCK32.DLL (which is used
                                    by both Mercury and the browser), is the only component in the system that knows how many
                                    tasks are active and hence when it is appropriate to close the connection.


                                    At the time of writing, the Microsoft WSOCK32.DLL supplied with Windows 95, 98, NT, 2000
                                    and XP can initiate a dialup connection correctly, but will not correctly hang it up when it is
                                    idle.


                                    Microsoft's failure to make WSOCK32.DLL handle dialling and hanging up correctly has
                                    meant that application developers have had to come up with their own solutions to the prob-
                                    lem. In general, these solutions take two forms: writing calls to the Windows RAS subsystem
                                    to force dialling and hanging up, and using functions in a special Microsoft Internet Explorer
                                    4.x module called WININET.DLL to force dialling and hanging up. Mercury/32 supports both
                                    these approaches.

                                    1: Making RAS calls  Under Windows NT, you can use the MercuryX scheduler module's
                                    command options to use the Windows NT RASDIAL utility to establish and disestablish con-
                                    nections. Alternatively, you can use a free version of RASDIAL written by Claudio Fahey,
                                    called RASDIAL95. This utility, which works under all versions of Windows from Windows
                                    95 onwards, is included with Mercury in the EXTRAS subdirectory of the directory where you
                                    installed Mercury/32. The utility is easy to use and has a comprehensive readme file describ-
                                    ing its operation. We wish to offer our appreciation and thanks to Claudio for allowing us to
                                    include RASDIAL95 with Mercury/32.


                                    2: Using WININET calls  If you have Internet Explorer 4.0 or later installed on your system,
                                    or you are using Windows 98 or later, then MercuryX can take advantage of special functions
                                    provided on these systems to establish and disestablish Internet connections. To enable this
                                    option, check one or both of the controls associated with it in the MercuryX configuration
                                    dialog.
   88   89   90   91   92   93   94   95   96   97   98