Blocked in the rcvfrom() function?

Hello I would like to try to retrieve data from a source that sends data via UDP protocol with an address and a port. So, I have taken a program in c++ to retrieve data via port 3000 but I am not retrieving any data as the program is stuck on the rcvfrom() function.
I checked if the source is sending data via the resource monitor. So it is sending data (send 400B/s). I also have no errors when connecting to the corresponding port.

Here is my c++ code below:

#include <winsock2.h> // pour les fonctions socket
#include <cstdio> // Pour les Sprintf

#pragma comment(lib,"ws2_32.lib")


WSADATA initialisation_win32; 
int erreur;
int tempo; 
int nombre_de_caractere; 
char buffer[65535]; 
SOCKET id_de_la_socket; 
SOCKADDR_IN information_sur_la_source; 

int main (int argc, char* argv[])
	{
	printf("\nEcoute du port 3000\n");

	erreur=WSAStartup(MAKEWORD(2,2),&initialisation_win32);
	if (erreur!=0)
		printf("\nDesole, je ne peux pas initialiser Winsock du a l'erreur : %d %d",erreur,WSAGetLastError());
	else
		printf("\nWSAStartup  : OK");

	id_de_la_socket=socket(AF_INET,SOCK_DGRAM,0);
	if (id_de_la_socket==INVALID_SOCKET)
		printf("\nDesole, je ne peux pas creer la socket du a l'erreur : %d",WSAGetLastError());
	else
		printf("\nsocket      : OK");

	information_sur_la_source.sin_family=AF_INET; 
	information_sur_la_source.sin_addr.s_addr=INADDR_ANY;
	information_sur_la_source.sin_port=htons(3000); // Ecoute sur le port 3000
	erreur=bind(id_de_la_socket,(struct sockaddr*)&information_sur_la_source,sizeof(information_sur_la_source));
	if (erreur!=0)
		printf("\nDesole, je ne peux pas ecouter ce port, code d'erreur : %d %d",erreur,WSAGetLastError());
	else
		printf("\nbind        : OK");

	tempo=sizeof(information_sur_la_source); 
	printf("\nbefore recvfrom");
	nombre_de_caractere=recvfrom(id_de_la_socket,buffer,1024,0,(struct sockaddr*)&information_sur_la_source,&tempo);
	printf("\nafter recvfrom");
	buffer[nombre_de_caractere]=0; 
	printf("\nVoici les donnees : %s",buffer);

	erreur=closesocket(id_de_la_socket);
	if (erreur!=0)
		printf("\nDesole, je ne peux pas liberer la socket du a l'erreur : %d %d",erreur,WSAGetLastError());
	else
		printf("\nclosesocket : OK");

	erreur=WSACleanup(); 
	if (erreur!=0)
		printf("\nDesole, je ne peux pas liberer winsock du a l'erreur : %d %d",erreur,WSAGetLastError());
	else
		printf("\nWSACleanup  : OK");
	}

Regards