A method of a server in a communication system, the method comprising: detecting a unidirectional packet delay from a terminal by using, when a time stamp option of a transport control protocol, TCP, is used, a difference between a time when a data packet is input into a buffer of a terminal for transmission and a time when the server receives the data packet from the terminal, or by using, when the time stamp option of the TCP is not used, a packet round trip time between a time when the server transmits an acknowledgement packet to the terminal and a time when the server receives the data packet from the terminal; determining a buffering delay of the terminal for the data packet by using a difference between the unidirectional packet delay and a minimum value of the unidirectional packet delay, wherein the unidirectional packet delay is a sum of the buffering delay and an uplink transmission delay, wherein the buffering delay is a difference between a time when the data packet is input into the buffer of the terminal and a time when the data packet is transmitted to the server, wherein the uplink transmission delay is a difference between a time when the data packet is transmitted to the server and a time when the server receives the data packet from the terminal; determining a variation type of the buffering delay of the terminal based on whether the buffering delay of the data packet increases compared to a previous data packet, wherein the variation type is determined as a variation type corresponding to an increase in the buffering delay when a ratio of the data packet having the increase in the buffering delay compared to the previous data packet is larger than a threshold value; and transmitting, to the terminal, control information for controlling a transmission rate of the terminal based on the determined variation type. detecting a unidirectional packet delay from a terminal by using, when a time stamp option of a transport control protocol, TCP, is used, a difference between a time when a data packet is input into a buffer of a terminal for transmission and a time when the server receives the data packet from the terminal, or by using, when the time stamp option of the TCP is not used, a packet round trip time between a time when the server transmits an acknowledgement packet to the terminal and a time when the server receives the data packet from the terminal; determining a buffering delay of the terminal for the data packet by using a difference between the unidirectional packet delay and a minimum value of the unidirectional packet delay, wherein the unidirectional packet delay is a sum of the buffering delay and an uplink transmission delay, wherein the buffering delay is a difference between a time when the data packet is input into the buffer of the terminal and a time when the data packet is transmitted to the server, wherein the uplink transmission delay is a difference between a time when the data packet is transmitted to the server and a time when the server receives the data packet from the terminal; determining a variation type of the buffering delay of the terminal based on whether the buffering delay of the data packet increases compared to a previous data packet, wherein the variation type is determined as a variation type corresponding to an increase in the buffering delay when a ratio of the data packet having the increase in the buffering delay compared to the previous data packet is larger than a threshold value; and transmitting, to the terminal, control information for controlling a transmission rate of the terminal based on the determined variation type.