On (20 Apr 97) Darin McBride wrote to Danial Gibson...
DM> This should be what the packets on the network do already, but for
DM> some reason don't. You could keep a circular buffer of the last few
DM> packets that you received (sorta like the dupe checking ability of
DM> most echomail tossers). The advantage of this is that you'll survive
DM> "overflow."
Some looking into things reveals the source of the "problem" - mailslots
are implemented as a "datagram" based protocol. In an normal protocol
you basically send a message, and get back an acknowledgement of
receiving the message. If you don't get an acknowledgement, you re-send
the message.
In a datagram protocol, you never get a confirmation of the message.
Since this lowers dependability, the message is automatically sent by
all possible avenues - once for each protocol on each available physical
connection. If you happened to run this with, say, two physical
connectioons from the sender to the receiver, and 3 protocols in common,
you could receive 6 copies of each message...
One method of avoiding this would be to avoid datagram based protocols
entirely. One obvious alternative would be to use sockets instead of
mailslots. They're not as well integrated with the rest of the system,
but work reasoanbly well.
Later,
Jerry.
... The Universe is a figment of its own imagination.
--- PPoint 1.90
---------------
* Origin: Point Pointedly Pointless (1:128/166.5)
|