#pragma once #include #include #include #include using namespace std; class UDPClient { public: string ipAddress; int port; int sock; struct sockaddr_in addr; UDPClient(string _ipAddress, int _port) { ipAddress = _ipAddress; port = _port; } void init() { WSAData wsaData; WSACleanup(); WSAStartup(MAKEWORD(2, 0), &wsaData); sock = socket(AF_INET, SOCK_DGRAM, 0); addr.sin_port = htons(port); addr.sin_family = AF_INET; inet_pton(addr.sin_family, ipAddress.c_str(), &addr.sin_addr.s_addr); bind(sock, (struct sockaddr*)&addr, sizeof(addr)); } size_t send(char* buffer, size_t size) { sendto(sock, buffer, size, 0, (struct sockaddr*)&addr, sizeof(addr)); printf("send data size: %d\n", size); return size; } void close() { closesocket(sock); WSACleanup(); } };