#pragma once #include "Socket.h" namespace Psc::socket { class UDP_Client { public: void set_dest_address(const Sockaddr_In& _dest_address) { dest_address = _dest_address; } void set_dest_address(std::string ip, std::uint32_t port) { dest_address = Sockaddr_In(ip, port); } void create(); bool connect(); std::string read(); void send(const std::string& data); Sockaddr_In dest_address; void close(); std::string to_string(); enum State { Not_Created, Not_Set_Field, Working, }; State state = Not_Created; private: Socket_FD socket_fd = -1; bool connected = false; bool blocking = true; // 如需非阻塞,可改成参数/成员 setter int read_chunk_size = 1024 * 1024; }; } // 重启的观测