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();
}
}
} |
Partager