A unicast communication method performed by a base station, comprising: grouping terminals based on channel condition levels according to measurement information of an uplink channel, so as to obtain at least two channel condition level groups; selecting a modulation-coding mode suitable for each channel condition level group, and coding a packet to be sent to a terminal by using fountain codes, so as to obtain a fountain code block; and sending the fountain code block to the terminal; wherein the grouping terminals based on channel condition levels according to measurement information of an uplink channel comprises: grouping the terminals based on different levels of channel signal-to-noise ratio according to the measurement information of an uplink channel; after the sending the fountain code block to the terminal, further comprising: if acknowledgment feedback of a successful response ACK sent by the terminal is received within a set period of time, adjusting the terminal to a group of a higher channel condition level according to a set rule, wherein the group of the higher channel condition level has a signal-to-noise ratio higher than that of a channel condition level group to which the terminal currently belongs, and if acknowledgment feedback of an unsuccessful response NACK sent by the terminal is received within a set period of time, adjusting the terminal to a group of a lower channel condition level according to a set rule; wherein the group of the lower channel condition level has a signal-to-noise ratio lower than that of a channel condition level group to which the terminal currently belongs. grouping terminals based on channel condition levels according to measurement information of an uplink channel, so as to obtain at least two channel condition level groups; selecting a modulation-coding mode suitable for each channel condition level group, and coding a packet to be sent to a terminal by using fountain codes, so as to obtain a fountain code block; and sending the fountain code block to the terminal; grouping the terminals based on different levels of channel signal-to-noise ratio according to the measurement information of an uplink channel; after the sending the fountain code block to the terminal, further comprising: if acknowledgment feedback of a successful response ACK sent by the terminal is received within a set period of time, adjusting the terminal to a group of a higher channel condition level according to a set rule, wherein the group of the higher channel condition level has a signal-to-noise ratio higher than that of a channel condition level group to which the terminal currently belongs, and if acknowledgment feedback of an unsuccessful response NACK sent by the terminal is received within a set period of time, adjusting the terminal to a group of a lower channel condition level according to a set rule; wherein the group of the lower channel condition level has a signal-to-noise ratio lower than that of a channel condition level group to which the terminal currently belongs. if acknowledgment feedback of a successful response ACK sent by the terminal is received within a set period of time, adjusting the terminal to a group of a higher channel condition level according to a set rule, wherein the group of the higher channel condition level has a signal-to-noise ratio higher than that of a channel condition level group to which the terminal currently belongs, and if acknowledgment feedback of an unsuccessful response NACK sent by the terminal is received within a set period of time, adjusting the terminal to a group of a lower channel condition level according to a set rule; wherein the group of the lower channel condition level has a signal-to-noise ratio lower than that of a channel condition level group to which the terminal currently belongs.