.dll .so 복사 자동화 완료
This commit is contained in:
@@ -42,8 +42,7 @@ Socket::operator SOCKET() const {
|
||||
return INVALID_SOCKET;
|
||||
}
|
||||
|
||||
void Socket::move(const SOCKET __sock)
|
||||
{
|
||||
void Socket::set(const SOCKET __sock) {
|
||||
if (__sock == INVALID_SOCKET)
|
||||
log::critical("socket()");
|
||||
|
||||
@@ -53,14 +52,6 @@ void Socket::move(const SOCKET __sock)
|
||||
valid_ = true;
|
||||
};
|
||||
|
||||
Socket& Socket::move() {
|
||||
std::shared_ptr<Socket> socket = std::make_shared<Socket>();
|
||||
valid_ = false;
|
||||
socket->move(sock_);
|
||||
|
||||
return *socket;
|
||||
};
|
||||
|
||||
void Socket::bind(sockaddr *__addr) {
|
||||
bind((struct sockaddr *)__addr, sizeof(sockaddr));
|
||||
}
|
||||
@@ -89,7 +80,21 @@ void Socket::bind(sockaddr_in6 *__addr, socklen_t __len) {
|
||||
bind((struct sockaddr *)__addr, __len);
|
||||
}
|
||||
|
||||
Socket::Socket(Socket&& other_) {
|
||||
int Socket::recvfrom(void *__restrict __buf, size_t __n, int __flags, struct Address& __addr) {
|
||||
int retVal = ::recvfrom(sock_, __buf, __n, __flags, &__addr.addr, &__addr.length);
|
||||
if (retVal == SOCKET_ERROR)
|
||||
log::error("recvfrom()");
|
||||
return retVal;
|
||||
}
|
||||
|
||||
int Socket::sendto(const void *__buf, size_t __n, int __flags, struct Address __addr) {
|
||||
int retVal = ::sendto(sock_, __buf, __n, __flags, &__addr.addr, __addr.length);
|
||||
if (retVal == SOCKET_ERROR)
|
||||
log::error("sendto()");
|
||||
return retVal;
|
||||
}
|
||||
|
||||
Socket::Socket(Socket &&other_) {
|
||||
other_.valid_ = false;
|
||||
sock_ = other_.sock_;
|
||||
valid_ = true;
|
||||
|
||||
@@ -16,7 +16,7 @@ void TCPSocket::listen(int __n) {
|
||||
}
|
||||
|
||||
void TCPSocket::accept(TCPSocket& newSock, Address& __addr) {
|
||||
newSock.move(::accept(sock_, &__addr.addr, &__addr.length));
|
||||
newSock.set(::accept(sock_, &__addr.addr, &__addr.length));
|
||||
if (newSock == INVALID_SOCKET)
|
||||
log::critical("accept()");
|
||||
}
|
||||
@@ -27,6 +27,18 @@ void TCPSocket::connect(Chattr::Address& serveraddr) {
|
||||
log::critical("connect()");
|
||||
}
|
||||
|
||||
int TCPSocket::recv(void *__restrict __buf, size_t __n, int __flags) {
|
||||
int retVal = ::recv(sock_, __buf, __n, __flags);
|
||||
if (retVal == SOCKET_ERROR)
|
||||
log::error("recv()");
|
||||
return retVal;
|
||||
}
|
||||
|
||||
int TCPSocket::send(const void *__buf, size_t __n, int __flags) {
|
||||
int retVal = ::send(sock_, __buf, __n, __flags);
|
||||
if (retVal == SOCKET_ERROR)
|
||||
log::error("send()");
|
||||
return retVal;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#pragma once
|
||||
#include "Utils/StringTokenizer.hpp"
|
||||
|
||||
namespace Chattr {
|
||||
|
||||
@@ -14,7 +14,7 @@ void Thread::join() {
|
||||
#endif
|
||||
}
|
||||
|
||||
void Thread::deatch() {
|
||||
void Thread::detach() {
|
||||
detached = true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user