function send() blocking

I have a TCP_socket on NETOS6. My probleme is that the function send() is blocking when the connection is out. How can I do for a send() that just copy the buffer into the buffer out. Or is it possible that the function send() has a timeout about 400ms. Perhaps, it is possible with setsocketoption, or select() . I have try with select(), but no working. I thing when the buffer out is full , send() is blocking. options of my socket : socket( AF_INET , SOCK_STREAM , 0 ); SOL_SOCKET , SO_SNDBUF : 65535 SOL_SOCKET , SO_RCVBUF : 65535 IPPROTO_TCP , TCP_ACKDELAYTIME : 30 IPPROTO_IP , IP_TTL : 3 IPPROTO_TCP , TCP_REX_MIN : 200 IPPROTO_TCP , TCP_REX_INIT : 800 IPPROTO_TCP , TCP_REX_MAX : 1000