Subject Re: [firebird-support] Re: errno : 6 -- New info
Author Helen Borrie
At 08:47 AM 17/03/2005 +0200, Tim Ledgerwood wrote:
> >
> >Assuming you can start the server, make it your practice to use the
> >localhost (TCP/IP loopback) server (make sure it's set up in HOSTS
> >first). This way you eliminate the likelihood of corrupting the
> >client/server inter-process communication space by using the local connect.
>
>Helen,
>
>As a matter of interest, can you explain this in more detail?

Daniel Rail's recent post, "Re: [firebird-support] Windows NT Terminal
Server" explains it rather well.

>One of the
>things that irritated me (using classic) was that I couldn't use the local
>connection anymore,

Windows-style "local connection" is just an emulated network protocol
that's available for convenience during development. It's never been
recommended for production use, other than for Embedded
applications. Amongst other things, it's not thread-safe.

>and had to specify the localhost IP (or, as you say,
>edit the hosts file) It's not a big deal for me, so I have never worried
>about it, but it would be nice to know why.

Well, Classic is architecturally different to SS. Where SS is a single
process that launches mutliple threads to communicate with clients and run
its internal systems (GC, sweep, authentication), Classic runs a separate
process for each connection. It's just not feasible to have multiple
server-client processes stamping around sharing a single IPC space.

Once people get past trying to think of Firebird as a file-served data
repository, and start thinking of it as a scalable client/server system,
the security of making local client connections architecturally consistent
with remote ones tends to outweigh the minor irritation of the one-line
edit of the HOSTS file that might be needed on very old servers.

./hb