Files
NP_Midterm/include/Socket/Socket.hpp
2025-04-26 16:17:19 +09:00

42 lines
878 B
C++

#pragma once
#include "precomp.hpp"
#include "Address.hpp"
namespace Chattr {
class Socket {
public:
Socket();
Socket(int domain, int type, int protocol);
~Socket();
void init(int domain, int type, int protocol);
void destruct();
operator SOCKET() const;
void move(const SOCKET);
Socket& move();
void bind(sockaddr *__addr);
void bind(sockaddr *__addr, socklen_t __len);
//IPV4
void bind(sockaddr_in *__addr);
void bind(sockaddr_in *__addr, socklen_t __len);
//IPV6
void bind(sockaddr_in6 *__addr);
void bind(sockaddr_in6 *__addr, socklen_t __len);
Socket(const Socket&) = delete;
Socket(Socket&&);
Socket& operator=(const Socket&) = delete;
Socket& operator=(Socket&&);
struct Address bindAddr = {};
protected:
bool valid_ = false;
SOCKET sock_ = INVALID_SOCKET;
};
}