Loading CMakeLists.txt +13 −0 Original line number Diff line number Diff line Loading @@ -28,4 +28,17 @@ if(${DEBUG} MATCHES TRUE) add_definitions(-DDEBUG) endif() configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) install( FILES "${CMAKE_CURRENT_BINARY_DIR}/config.h" DESTINATION include/netplus ) add_subdirectory(src) config.h.in 0 → 100644 +2 −0 Original line number Diff line number Diff line #define ${CMAKE_SYSTEM_NAME} #define ARCH_${CMAKE_SYSTEM_PROCESSOR} No newline at end of file src/socket.h +10 −0 Original line number Diff line number Diff line Loading @@ -28,8 +28,14 @@ #include <memory> #include <string> #include "config.h" #pragma once #ifdef Windows #include <Windows.h> #endif //Windows #ifndef SOCKET typedef int SOCKET; #endif Loading Loading @@ -66,6 +72,10 @@ namespace netplus { SOCKET _Socket; int _Type; void *_Extension; #ifdef Windows WSADATA _WSAData; #endif // Windows }; class tcp : public socket{ Loading src/windows/udp.cpp +11 −10 Original line number Diff line number Diff line Loading @@ -33,7 +33,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <cstdio> #include <cstring> #include <fcntl.h> #include <winsock.h> #include <windows.h> #include <winsock2.h> #include <ws2tcpip.h> #include <string.h> #include "exception.h" Loading @@ -41,10 +43,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "error.h" netplus::udp::udp() { _SocketPtr=::malloc(sizeof(sockaddr)); _SocketPtrSize=sizeof(sockaddr); ((struct sockaddr*)_SocketPtr)->sa_family=AF_UNSPEC; _Socket=::socket(((struct sockaddr*)_SocketPtr)->sa_family,SOCK_DGRAM,0); _SocketPtr=::malloc(sizeof(addrinfo)); _SocketPtrSize=sizeof(addrinfo); if (WSAStartup(MAKEWORD(2, 2),&_WSAData) != 0) { NetException exception; exception[NetException::Critical] << "udp: WSAStartup failed: "; } _Socket = INVALID_SOCKET; _Type=sockettype::UDP; } Loading Loading @@ -72,7 +77,7 @@ netplus::udp::udp(const char* addr, int port,int maxconnections,int sockopts) { hints.ai_addr = NULL; hints.ai_next = NULL; int tsock; SOCKET tsock; char serv[512]; snprintf(serv,512,"%d",port); Loading @@ -94,10 +99,6 @@ netplus::udp::udp(const char* addr, int port,int maxconnections,int sockopts) { } ::freeaddrinfo(result); int optval = 1; setsockopt(_Socket, SOL_SOCKET, sockopts,&optval,sizeof(optval)); _Type=sockettype::UDP; } netplus::udp::~udp(){ Loading Loading
CMakeLists.txt +13 −0 Original line number Diff line number Diff line Loading @@ -28,4 +28,17 @@ if(${DEBUG} MATCHES TRUE) add_definitions(-DDEBUG) endif() configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) install( FILES "${CMAKE_CURRENT_BINARY_DIR}/config.h" DESTINATION include/netplus ) add_subdirectory(src)
config.h.in 0 → 100644 +2 −0 Original line number Diff line number Diff line #define ${CMAKE_SYSTEM_NAME} #define ARCH_${CMAKE_SYSTEM_PROCESSOR} No newline at end of file
src/socket.h +10 −0 Original line number Diff line number Diff line Loading @@ -28,8 +28,14 @@ #include <memory> #include <string> #include "config.h" #pragma once #ifdef Windows #include <Windows.h> #endif //Windows #ifndef SOCKET typedef int SOCKET; #endif Loading Loading @@ -66,6 +72,10 @@ namespace netplus { SOCKET _Socket; int _Type; void *_Extension; #ifdef Windows WSADATA _WSAData; #endif // Windows }; class tcp : public socket{ Loading
src/windows/udp.cpp +11 −10 Original line number Diff line number Diff line Loading @@ -33,7 +33,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <cstdio> #include <cstring> #include <fcntl.h> #include <winsock.h> #include <windows.h> #include <winsock2.h> #include <ws2tcpip.h> #include <string.h> #include "exception.h" Loading @@ -41,10 +43,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "error.h" netplus::udp::udp() { _SocketPtr=::malloc(sizeof(sockaddr)); _SocketPtrSize=sizeof(sockaddr); ((struct sockaddr*)_SocketPtr)->sa_family=AF_UNSPEC; _Socket=::socket(((struct sockaddr*)_SocketPtr)->sa_family,SOCK_DGRAM,0); _SocketPtr=::malloc(sizeof(addrinfo)); _SocketPtrSize=sizeof(addrinfo); if (WSAStartup(MAKEWORD(2, 2),&_WSAData) != 0) { NetException exception; exception[NetException::Critical] << "udp: WSAStartup failed: "; } _Socket = INVALID_SOCKET; _Type=sockettype::UDP; } Loading Loading @@ -72,7 +77,7 @@ netplus::udp::udp(const char* addr, int port,int maxconnections,int sockopts) { hints.ai_addr = NULL; hints.ai_next = NULL; int tsock; SOCKET tsock; char serv[512]; snprintf(serv,512,"%d",port); Loading @@ -94,10 +99,6 @@ netplus::udp::udp(const char* addr, int port,int maxconnections,int sockopts) { } ::freeaddrinfo(result); int optval = 1; setsockopt(_Socket, SOL_SOCKET, sockopts,&optval,sizeof(optval)); _Type=sockettype::UDP; } netplus::udp::~udp(){ Loading