Problem with RC_CHANNELS_OVERRIDE

I want to use RC_CHANNELS_OVERRIDE to fine control my Drone. I write my code in C++ and This is mycode.
" mavlink_message_t msg;
uint8_t data_buff_send[MAVLINK_MAX_PACKET_LEN];
mavlink_rc_channels_override_t rc = {0};
rc.target_system = 1;
rc.target_component = 0;
rc.chan3_raw = 1800;
mavlink_msg_rc_channels_override_encode(1, 255, &msg, &rc);
uint16_t len = mavlink_msg_to_send_buffer(data_buff_send, &msg);
socket->write((const char*)data_buff_send,len); "
but it doesn’t work at all. I use this form of code to send all command long, and some msg ex. “mavlink_set_position_target_global_int_t” . It can do their job very good but i try the “RC_CHANNELS_OVERRIDE” commande it doesn’t work . I control my drone in GUIDED Mode.
Please Help ME.