I did find my problem, and as usual, it was of my own making.... I mis-read
the PIPE UDP help, and had specified 514 as the sending port, rather than
specifying 0 and allowing it to choose a port above 1024. I can fix this....

But, while I understand that, once a UDP message leaves my hands, there is
no guarantee of delivery, I would think that the RFC would kick in once the
message had actually been sent. The fact that the failure was still inside
my box, and completely detectable, bothers me. Is it really right to say
³Oh, it¹s a UDP message, so I won¹t bother to check any return codes from
anything I do, Œcause the RFC says I don¹t have¹ta care...²

If you were reading a disk file, and writing the records out to another
machine via UDP, and there was a disk failure, should you just ignore it
because the RFC for UDP says that there¹s no guarantees? Are are you
responsible for checking for disk errors, because your message isn¹t
actually out on the wire as yet?

-- 
Robert P. Nix          Mayo Foundation        .~.
RO-OE-5-55             200 First Street SW    /V\
507-284-0844           Rochester, MN 55905   /( )\
-----                                        ^^-^^
"In theory, theory and practice are the same, but
 in practice, theory and practice are different."




On 3/7/08 7:39 PM, "David Boyes" <[EMAIL PROTECTED]> wrote:

> 
> 
>>> >> Also: If I violate this using Pipe and the UDP stage, why don¹t I get a
>>> >> non-zero return code?
> 
>> > Because there are no guarantees in the IP protocol specifications that UDP
>> packets are ever delivered. UDP was designed to have those semantics, > and
>> thus if you use UDP, you're expected to handle missing packets yourself. If
>> you want guaranteed delivery, you're expected to use TCP.
> 
> Direct quote from the RFC: "UDP does not guarantee reliability or ordering in
> the way that TCP does. Datagrams may arrive out of order, appear duplicated,
> or go missing without notice."
> 
> 


Reply via email to