There seems to be some basic misunderstanding on this point. It is not inherently necessary to run the super server ([x]inetd) to be able to accept multiple concurrent connections on the same port, it is only due to a limitation in the MUMPS language that this is so. The reason is that in languages like C or Java it is possible to create a socket that listens on a specific port number and then accept new connections that will be handled by a separate process or thread. Interestingly, it is common under Unix to run a number of standalone "daemon" programs (telnetd, ftpd, httpd, rpc.mountd, etc.) all which can run quite independently of the super server. However, there needs to be a separate daemon listening on any port on which you are willing to accept a connection. What the super server does for you is allow you to run ONE process that listens for connections on every port for which it is configured to accept connections, and then after accepting a connection, it will start the appropriate program to handle it. For example, sendmail itself might not listen on port 25 (though it usually does), but could instead be invoked after the super server has accepted a connection on port 25.

To understand the MUMPS issue, think of the HL7 package. Since there is no accept call, you are forced to write a program that listens for connections on whatever port you choose to use for HL7, then once another system has connected, that SAME program is busy handling the connection (running the application protocol), and so all further attempts to connect to that port will be rejected until the connection is closed. In the HL7 package, such a process is called a listener and, in particular, a "single threaded listener". The HL7 package also supports what is known as a multi-threaded listener, but sine it is impossible to implement such a thing natively in MUMPS, it is run as a service under VMS, which is the equivalent to running under the control of [x]inetd under Unix.

===
Gregory Woodhouse
[EMAIL PROTECTED]

"The policy of being too cautious is
the greatest risk of all."
--Jawaharlal Nehru


On Aug 2, 2005, at 1:12 AM, Zeno Davatz wrote:

On 7/31/05, Nancy Anthracite <[EMAIL PROTECTED]> wrote:

If you are using a recent CPRS and version of VistA, it is built in. It usually tries to connect with the new broker and then defaults to the old if the new does not work. It has worked with Windows for quite a while, but only recently with GTM and Linux. You have to work with xinetd if you want
to connect more than once as I understand it.


Ok, I do not have xinetd on my Gentoo-Linux installed and I would
prefer not to install it. The reason why I believe I do not have to
install it is, that it is not installed per default on Ubuntu, Debian
and Gentoo. So I'm asking once again: Why not use a protocol that is
installed by default on any Linux box; like SSH and Rsync? They will
open there default port and there services are mostly used for many
things.

Thanks
Zeno




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Hardhats-members mailing list
Hardhats-members@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hardhats-members

Reply via email to