Look at the definitions for the constants beginning with INADDR_ except INADDR_ANY (which is all zero bits) and INADDR_NONE (which is all one bits). For example, the class D multicast address INADDR_MAX_LOCAL_GROUP is defined as 0xe00000ff with the comment "224.0.0.255," which is clearly in host byte order.
4.2
Here are the new lines added after the call to connect :
This requires a declaration of len as a socklen_t and a declaration of cliaddr as a struct sockaddr_in . Notice that the value-result argument for getsockname ( len ) must be initialized before the call to the size of the variable pointed to by the second argument. The most common programming error with value-result arguments is to forget this initialization.
4.3
When the child calls close , the reference count is decremented from 2 to 1, so a FIN is not sent to the client. Later, when the parent calls close , the reference count is decremented to 0 and the FIN is sent.
4.4
accept returns EINVAL , since the first argument is not a listening socket.
4.5
Without a call to bind , the call to listen assigns an ephemeral port to the listening socket.