About Mailslots
A mailslot is a pseudofile; it resides in memory, and standard Windows file
functions write to it. Unlike disk files, however, mailslots are temporary. When
every handle of a mailslot is closed, the mailslot and all the data it contains
are deleted. The data in a mailslot message can be in any form.
A
mailslot server is a process that creates and owns a mailslot. When the server creates a
mailslot, it receives a mailslot handle. This handle must be used when a process
reads messages from the mailslot. Only the process that creates a mailslot (or
has obtained the handle by some other mechanism, such as inheritance) can read
from the mailslot. A mailslot exists until all server handles to it have been
closed or all server processes have exited. All mailslots are local to the process
that creates them; a process cannot create a remote mailslot.
A
mailslot client is a process that writes a message to a mailslot. Any process that has the
name of a mailslot can put a message there. New messages follow preexisting
messages in the mailslot.
Mailslots can broadcast messages within a domain. If several processes in a
domain each create a mailslot using the same name, every message that is
addressed to that mailslot and sent to the domain is received by the participating
processes. Because one process can control both a server mailslot handle and the
client handle retrieved when the mailslot is opened for a write operation,
applications can easily implement a simple message-passing facility within a domain.
Some developers choose to use named pipes instead of mailslots for
interprocess communications. Named pipes are a simple way for two processes to exchange
messages. Mailslots, on the other hand, are a simple way for a process to
broadcast messages to many other processes. For more information about named pipes,
see
Pipes.
Another issue in the choice between mailslots and named pipes is that
mailslots use datagrams, and named pipes do not. A datagram is a small packet of
information that the network sends along the wire. Like a radio or television
broadcast, a datagram offers no confirmation of receipt; there is no way to guarantee
that a datagram has been received. Just as mountains, large buildings, or
interfering signals might cause a radio or television signal to get lost, there are
things the sender has no knowledge of that can prevent a datagram from
reaching a particular destination. Named pipes are more like simple one-to-one
telephone calls: you can talk only to one party, but you know that the conversation is
occurring. So, if an application requires guaranteed reception, it should use
a named pipe; but named pipes cannot broadcast. Mailslots do not guarantee
reception, but they can broadcast.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database