diff options
author | chai <chaifix@163.com> | 2018-10-23 12:23:58 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-10-23 12:23:58 +0800 |
commit | 40fc27154fe754181934dc7ee31375e6bdfb33fc (patch) | |
tree | 897ad98d759bc308ef66561181ba88b85f2ccd47 /src/libjin/Net/Socket.cpp | |
parent | 1480c9445100075c9e1a894eb07c0ef727b509a1 (diff) |
*merge from minimal
Diffstat (limited to 'src/libjin/Net/Socket.cpp')
-rw-r--r-- | src/libjin/Net/Socket.cpp | 190 |
1 files changed, 0 insertions, 190 deletions
diff --git a/src/libjin/Net/Socket.cpp b/src/libjin/Net/Socket.cpp deleted file mode 100644 index cfc593a..0000000 --- a/src/libjin/Net/Socket.cpp +++ /dev/null @@ -1,190 +0,0 @@ -#include "Socket.h" - -namespace jin -{ -namespace net -{ - Socket::Socket(const Socket& socket) - : handle(socket.handle) - , type(socket.type) - { - } - - Socket::Socket(const SocketInformation& info) - : type(info.type) - { - if (type == SocketType::TCP) - { - tk_IPaddress ip; - ip.host = info.address; - ip.port = info.port; - handle.tcpHandle = tk_tcp_open(ip); - } - else if (type == SocketType::UDP) - { - handle.udpHandle = tk_udp_open(info.port); - } - } - - Socket::Socket(SocketType type, const char* address, unsigned short port) - { - this->type = type; - if (type == SocketType::TCP) - { - tk_IPaddress ip; - #if JIN_NET_TEKCOS - ip.host = tk_strtohl(address); - ip.port = port; - handle.tcpHandle = tk_tcp_open(ip); - #endif - } - else if (type == SocketType::UDP) - { - handle.udpHandle = tk_udp_open(port); - } - } - - Socket::Socket(SocketType type, unsigned int address, unsigned short port) - { - this->type = type; - if (type == SocketType::TCP) - { - tk_IPaddress ip; - ip.host = address; - ip.port = port; - handle.tcpHandle = tk_tcp_open(ip); - } - else if (type == SocketType::UDP) - { - handle.udpHandle = tk_udp_open(port); - } - } - - Socket::Socket(SocketType type, unsigned short port) - { - this->type = type; - if (type == SocketType::TCP) - { - tk_IPaddress ip; - ip.host = 0; - ip.port = port; - handle.tcpHandle = tk_tcp_open(ip); - } - else if (type == SocketType::UDP) - { - handle.udpHandle = tk_udp_open(port); - } - } - -#if JIN_NET_TEKCOS - - Socket::Socket(const tk_TCPsocket& tcphandle) - { - handle.tcpHandle = tcphandle; - } - - Socket::Socket(const tk_UDPsocket& udphandle) - { - handle.udpHandle = udphandle; - } - -#endif // JIN_NET_TEKCOS - - Socket::~Socket() - { - } - - void Socket::configureBlocking(bool blocking) - { - if (type != SocketType::TCP) - return; - #if JIN_NET_TEKCOS - if (blocking) - tk_tcp_blocking(&handle.tcpHandle); - else - tk_tcp_nonblocking(&handle.tcpHandle); - #endif - } - - Socket* Socket::accept() - { - if (type != SocketType::TCP) - return nullptr; - Socket* client; - #if JIN_NET_TEKCOS - tk_TCPsocket socket = tk_tcp_accept(&handle.tcpHandle); - client = new Socket(socket); - #endif - return client; - } - - int Socket::receive(char* buffer, int size) - { - if (type != SocketType::TCP) - return 0; - #if JIN_NET_TEKCOS - int len; - tk_tcp_recv(&handle.tcpHandle, buffer, size, &len); - return len; - #endif - } - - int Socket::send(char* buffer, int size) - { - if (type != SocketType::TCP) - return 0; - #if JIN_NET_TEKCOS - int len; - tk_tcp_send(&handle.tcpHandle, buffer, size, &len); - return len; - #endif - } - - void Socket::sendTo(char* buffer, int size, unsigned int address, unsigned int port) - { - if (type != SocketType::UDP) - return; - #if JIN_NET_TEKCOS - tk_UDPpack pack; - pack.data = buffer; - pack.len = size; - pack.ip.host = address; - pack.ip.port = port; - tk_udp_sendto(&handle.udpHandle, &pack); - #endif - } - - int Socket::receiveFrom(char* buffer, int size, unsigned int address, unsigned int port) - { - if (type != SocketType::UDP) - return 0; - int len; - #if JIN_NET_TEKCOS - tk_UDPpack pack; - pack.data = buffer; - pack.len = size; - pack.ip.host = address; - pack.ip.port = port; - tk_udp_recvfrom(&handle.udpHandle, &pack); - return pack.len; - #endif - } - - void Socket::close() - { - if (type == SocketType::TCP) - { - #if JIN_NET_TEKCOS - tk_tcp_close(&handle.tcpHandle); - #endif - } - else if (type == SocketType::UDP) - { - #if JIN_NET_TEKCOS - tk_udp_close(&handle.udpHandle); - #endif - } - } - -} -}
\ No newline at end of file |