A method of transmitting data by an electronic device (200, 400), comprising: transmitting a data packet selected from a buffer based on a transmission sequence, the data packet being associated with an application; in response to failure of the transmission of the data packet, determining a re-transmission delay value based on a maximum transmission delay value required by the application associated with the data packet, a current transmission delay value of the data packet, and a currently measured received signal strength of a wireless channel; and re-transmitting the data packet after delaying the transmission by the re-transmission delay value, wherein the determining of the re-transmission delay value comprises: determining whether the current transmission delay value is greater than the maximum transmission delay value; determining an additional transmission delay value based on a difference between the current transmission delay value and the maximum transmission delay value when the current transmission delay value is less than or equal to the maximum transmission delay value, determining whether the measured received signal strength of the wireless channel is less than a minimum received signal strength; and determining (607,609) the re-transmission delay value based on a sum of the additional transmission delay value and a default transmission delay value when the measured received signal strength of the wireless channel is less than the minimum received signal strength. transmitting a data packet selected from a buffer based on a transmission sequence, the data packet being associated with an application; in response to failure of the transmission of the data packet, determining a re-transmission delay value based on a maximum transmission delay value required by the application associated with the data packet, a current transmission delay value of the data packet, and a currently measured received signal strength of a wireless channel; and re-transmitting the data packet after delaying the transmission by the re-transmission delay value, wherein the determining of the re-transmission delay value comprises: determining whether the current transmission delay value is greater than the maximum transmission delay value; determining an additional transmission delay value based on a difference between the current transmission delay value and the maximum transmission delay value when the current transmission delay value is less than or equal to the maximum transmission delay value, determining whether the measured received signal strength of the wireless channel is less than a minimum received signal strength; and determining (607,609) the re-transmission delay value based on a sum of the additional transmission delay value and a default transmission delay value when the measured received signal strength of the wireless channel is less than the minimum received signal strength. determining whether the current transmission delay value is greater than the maximum transmission delay value; determining an additional transmission delay value based on a difference between the current transmission delay value and the maximum transmission delay value when the current transmission delay value is less than or equal to the maximum transmission delay value, determining whether the measured received signal strength of the wireless channel is less than a minimum received signal strength; and determining (607,609) the re-transmission delay value based on a sum of the additional transmission delay value and a default transmission delay value when the measured received signal strength of the wireless channel is less than the minimum received signal strength.