A sidelink data packet sending and receiving method, wherein the method comprises the steps of determining, by a first terminal device, a size of a sidelink data packet; determining, by the first terminal device based on the size of the sidelink data packet, a first quantity of time-frequency units corresponding to the sidelink data packet; packet, the method characterized by comprising the further steps of: determining, by the first terminal device, a frequency domain resource of a second time-frequency resource from a first time-frequency resource based on the first quantity, a time domain resource of the second time-frequency resource, and a resource selection rule, wherein the first time-frequency resource is a time-frequency resource range corresponding to a sidelink communication service between the first terminal device and a second terminal device or determining, by the first terminal device, a time domain resource of a second time-frequency resource from the first time-frequency resource based on the first quantity, a frequency domain resource of the second time-frequency resource, and a resource selection rule; and sending, by the first terminal device, the sidelink data packet to a second terminal device on the second time-frequency resource; or receiving, by the first terminal device, the sidelink data packet from the second terminal device on the second time-frequency resource. determining, by a first terminal device, a size of a sidelink data packet; determining, by the first terminal device based on the size of the sidelink data packet, a first quantity of time-frequency units corresponding to the sidelink data packet; packet, the method characterized by comprising the further steps of: determining, by the first terminal device, a frequency domain resource of a second time-frequency resource from a first time-frequency resource based on the first quantity, a time domain resource of the second time-frequency resource, and a resource selection rule, wherein the first time-frequency resource is a time-frequency resource range corresponding to a sidelink communication service between the first terminal device and a second terminal device or determining, by the first terminal device, a time domain resource of a second time-frequency resource from the first time-frequency resource based on the first quantity, a frequency domain resource of the second time-frequency resource, and a resource selection rule; and sending, by the first terminal device, the sidelink data packet to a second terminal device on the second time-frequency resource; or receiving, by the first terminal device, the sidelink data packet from the second terminal device on the second time-frequency resource. determining, by the first terminal device, a frequency domain resource of a second time-frequency resource from a first time-frequency resource based on the first quantity, a time domain resource of the second time-frequency resource, and a resource selection rule, wherein the first time-frequency resource is a time-frequency resource range corresponding to a sidelink communication service between the first terminal device and a second terminal device or determining, by the first terminal device, a time domain resource of a second time-frequency resource from the first time-frequency resource based on the first quantity, a frequency domain resource of the second time-frequency resource, and a resource selection rule; and sending, by the first terminal device, the sidelink data packet to a second terminal device on the second time-frequency resource; or receiving, by the first terminal device, the sidelink data packet from the second terminal device on the second time-frequency resource.