Commit b77756e9 authored by jan.koester's avatar jan.koester
Browse files

test

parent 52dce445
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -105,11 +105,15 @@ void netplus::socket::setTimeout(int sec){
}

void netplus::socket::copyAddrInfo(ULONG_PTR *dest, ULONG_PTR src){
    memcpy((void*)*(dest), (void*)src, sizeof(struct addrinfo));

    memcpy((void*)*dest, (void*)src, sizeof(struct addrinfo));
    ((struct addrinfo*)*dest)->ai_addr = (struct sockaddr*)malloc(((struct addrinfo*)src)->ai_addrlen);

    memset(((struct addrinfo*)*dest)->ai_addr,0,((struct addrinfo*)src)->ai_addrlen);

    memcpy((void*)((struct addrinfo*)*dest)->ai_addr,
        (void*)((struct addrinfo*)src)->ai_addr,
        ((struct addrinfo*)*(struct addrinfo**)dest)->ai_addrlen
        ((struct addrinfo*)(struct addrinfo*)*dest)->ai_addrlen
    );
    ((struct addrinfo*)*dest)->ai_addrlen = ((struct addrinfo*)src)->ai_addrlen;
}
+9 −4
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ netplus::tcp::tcp(const char* uxsocket,int maxconnections,int sockopts) : socket
    setsockopt(_Socket,SOL_SOCKET,sockopts,&optval, sizeof(optval));
    _Type=sockettype::TCP;
}

#include <iostream>
netplus::tcp::tcp(const char* addr, int port,int maxconnections,int sockopts) : socket() {
    NetException exception;
    _Maxconnections=maxconnections;
@@ -155,7 +155,7 @@ void netplus::tcp::accept(socket *csock){

    socklen_t len=0;

    *csock=::accept(_Socket,(struct sockaddr*)((struct addrinfo *)csock->_SocketInfo)->ai_addr,&len);
    *csock=::accept(_Socket,((struct addrinfo *)csock->_SocketInfo)->ai_addr,&((struct addrinfo *)csock->_SocketInfo)->ai_addrlen);
    
    if(csock->_Socket<0){
        int etype=NetException::Error;
@@ -263,6 +263,11 @@ void netplus::tcp::connect(socket *ssock){
void netplus::tcp::getAddress(std::string &addr){
    if(!_SocketInfo)
        return;
    char ipaddr[INET6_ADDRSTRLEN];
    addr=inet_ntop(((struct addrinfo*)_SocketInfo)->ai_family,((struct addrinfo*)_SocketInfo)->ai_addr, ipaddr, ((struct addrinfo*)_SocketInfo)->ai_addrlen);

    char buf[512];

    addr=inet_ntop(((struct addrinfo*)_SocketInfo)->ai_family,
                   &((struct addrinfo*)_SocketInfo)->ai_addr->sa_data+sizeof(struct sockaddr_storage) ,buf,
                   ((struct addrinfo*)_SocketInfo)->ai_addrlen
    );
}