30 lines
798 B
C++
30 lines
798 B
C++
#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;
|
|
};
|
|
}
|
|
|
|
|
|
// 重启的观测
|