Bonjour à tous

Voilà j'ai un réseau (windows) sur lequel une machine émet en UDP vers une autre sur une adresse et un port spécifique. Depuis quelque temps je constate une erreur 10060 quand l'éméteur utilise certains ports.
Par exemple le port 54498 ne fonctionne pas alors que le port 58573 lui fonctionne.
J'ai regardé le pare feux et il ne semble pas que ces ports soient bloqués
Voici le code que j'utilise pour recevoir les trames
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
// testudp.cpp : Ce fichier contient la fonction 'main'. L'exécution du programme commence et se termine à cet endroit.
//
 
#include <iostream>
#include <WS2tcpip.h>
 
#pragma comment (lib, "ws2_32.lib")
 
int main()
{
	std::cout << "Hello World!\n";
	WSADATA data;
 
	int wsok = WSAStartup(MAKEWORD(2, 2), &data);
	if (wsok != 0)
	{
		return -100;
	}
	SOCKET sockDO = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
	SOCKADDR_IN addrDO = { 0 };
 
	addrDO.sin_addr.s_addr = INADDR_ANY;
	addrDO.sin_family = AF_INET;
	addrDO.sin_port = htons(3050);
 
	if (::bind(sockDO, reinterpret_cast<sockaddr*>(&addrDO), sizeof(addrDO)) == SOCKET_ERROR)
	{
		return -2;
	}
	int timeout = 200;
	char dtaDO[64];
	while (1)
	{
 
		socklen_t addrlen = sizeof(addrDO);
		setsockopt(sockDO, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(timeout));
		int res = recvfrom(sockDO, dtaDO, 64, 0, reinterpret_cast<sockaddr*>(&addrDO), &addrlen);
		if (res < 0)
		{
			std::cout << "Erreur=" << WSAGetLastError();
		}
	}
}
J'avoue être un peu perdu. Une idée d'où pourrait provenir ce blocage?