mjd@saul.cis.upenn.edu (Mark-Jason Dominus) (05/10/91)
I am programming under SunOS 4.1.1. If I try to read a 256-byte message with `recv', can `recv' return without having read all 256 bytes, the way `read' can? Or is `recv' guaranteed to block until 256 bytes of data arrive? The man page for `socket(2)' seems to imply the former, but I'm not sure. If I use `send' to send a 256-byte message, will the entire message necessarily be sent as a single packet? If I am using UDP with the SOCK_DGRAM abstraction, and I send a 256-byte message, I know I should expect to deal with lost packets. Will a lost packet necessarily contain an entire message, or is it possible to lose part of a single message due to a dropped packet? The man page suggests that messages sent with `send' will be sent as single datagrams, as long as they are sufficiently short. How short must they be? -- Nihil tam absurde dici potest, quod non dicatur ab aliquo philosophorum. Mark-Jason Dominus mjd@central.cis.upenn.edu