Blocking vs non blocking socket

Why can I send a larger message (116 bytes) when the socket is in non blocking mode? When the socket is in blocking mode, which is what I want to be able to determine when to enter sleep mode, I get an error message saying that the message is too big.