Re: Question on select() and sockets



David Schwartz <davids@xxxxxxxxxxxxx> writes:
On Jun 9, 10:28 am, Rick Jones <rick.jon...@xxxxxx> wrote:
David Schwartz <dav...@xxxxxxxxxxxxx> wrote:
The standard does not prohibit a UDP datagram from being dropped
after it triggers a 'select' hit and before that program manages to
call 'recvmsg'.

Which standard is that?

rick jones

All of the relevant standards. POSIX, UDP, and quite a few others.

POSIX/ SUS doesn't contain definitions of particular transport
protocols. UDP is defined as a thin layer above IP, just adding a
'datagram body' with a length field, support for checksumming that,
and source and destination ports so that different applications using
UDP on a single host can as easily be supported as for TCP. This means
that UDP has all the 'transport characteristics' of IP, meaning each
datagram travels indepedently and involved devices are supposed to
make a 'best effort' attempt to further delivery. Nothing is specified
regarding behaviour of the end system after a datagram was delivered
to it.
.



Relevant Pages

  • Re: Question on select() and sockets
    ... 'datagram body' with a length field, support for checksumming that, ... UDP on a single host can as easily be supported as for TCP. ... make a 'best effort' attempt to further delivery. ...
    (comp.unix.programmer)
  • Re: Possible bug in .Net 2.0 udp sockets?
    ... You won't miss any UDP packets with a buffer that large! ... The datagram arrives, but out of order (either before one sent ... but it is not normally true in Winsock that one's program must be ... outstanding receive on the socket, but it's not a 1-for-1 correlation. ...
    (microsoft.public.dotnet.framework)
  • Re: strange behavior when the client bind its UDP socket to a local address
    ... From my observations of the behaviour of the Linux IPv4 stack, I did not see any evidence that the default source adresse selection is based on "closeness" to the destination address. ... Because the client sent a datagram to 127.0.0.1 and expects datagrams from the same address, ... Although UDP is connectionless, it is rather common that bidirectional UDP communications use source and destination adresses in the same way as TCP does. ... As a client, when nc sends a UDP datagram to address A it expects to receive datagrams from the same address A. However as a server, when nc receives a UDP datagram on address A it may send datagrams from a different address. ...
    (comp.os.linux.networking)
  • Re: NFS v4 and pNFS
    ... |> IIRC everything NFS sends is always a single datagram at the UDP ... It might be more accurate to say that when the NFS message is ... |> if we have a packet loss probability p, ...
    (comp.protocols.nfs)
  • Re: Question on select() and sockets
    ... protocols. ... 'datagram body' with a length field, support for checksumming that, ... UDP on a single host can as easily be supported as for TCP. ...
    (comp.unix.programmer)