Commit 9f78159d authored by jan.koester's avatar jan.koester
Browse files

libnet updated

parent 1a340e40
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -123,6 +123,7 @@ netplus::tcp::tcp(const char* addr, int port,int maxconnections,int sockopts) :
}

netplus::tcp::~tcp(){
    if(_Socket!=-1)
        ::close(_Socket);
    ::free(_SocketPtr);
}
@@ -130,8 +131,7 @@ netplus::tcp::~tcp(){
netplus::tcp::tcp() : socket() {
    _SocketPtr=::malloc(sizeof(struct sockaddr));
    _SocketPtrSize=sizeof(struct sockaddr);
    ((struct sockaddr*)_SocketPtr)->sa_family=AF_UNSPEC;
    _Socket=::socket(((struct sockaddr*)_SocketPtr)->sa_family,SOCK_STREAM,0);
    _Socket=-1;
    _Type=sockettype::TCP;
}

@@ -259,10 +259,20 @@ size_t netplus::tcp::recvData(socket *csock, void* data, unsigned long size,int
    return recvsize;
}

void netplus::tcp::connect(socket *csock){
void netplus::tcp::connect(socket *ssock){
    NetException exception;

    ((struct sockaddr*)_SocketPtr)->sa_family=((struct sockaddr*)ssock->_SocketPtr)->sa_family;

    if( (_Socket=::socket(((struct sockaddr*)_SocketPtr)->sa_family,SOCK_STREAM,0) ) < 0 ){
        NetException exception;
        char errstr[512];
        strerror_r_netplus(errno,errstr,512);
        exception[NetException::Error] << "Create Socket " << _Socket << " failed : " <<  errstr;
        throw exception;
    }

    if ( ::connect(_Socket,(struct sockaddr*)csock->_SocketPtr,csock->_SocketPtrSize) < 0) {
    if ( ::connect(_Socket,(struct sockaddr*)ssock->_SocketPtr,ssock->_SocketPtrSize) < 0) {

        char errstr[512];
        strerror_r_netplus(errno,errstr,512);
+13 −3
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ netplus::udp::udp() : socket() {
    _SocketPtr=::malloc(sizeof(sockaddr));
    _SocketPtrSize=sizeof(sockaddr);
    ((struct sockaddr*)_SocketPtr)->sa_family=AF_UNSPEC;
    _Socket=::socket(((struct sockaddr*)_SocketPtr)->sa_family,SOCK_DGRAM,0);
    _Socket=-1;
    _Type=sockettype::UDP;
}

@@ -240,10 +240,20 @@ size_t netplus::udp::recvData(socket *csock, void* data, unsigned long size,int
    return recvsize;
}

void netplus::udp::connect(socket *csock){
void netplus::udp::connect(socket *ssock){
    NetException exception;

    if ( ::connect(_Socket,(struct sockaddr*)csock->_SocketPtr,csock->_SocketPtrSize) < 0) {
    ((struct sockaddr*)_SocketPtr)->sa_family=((struct sockaddr*)ssock->_SocketPtr)->sa_family;

    if( (_Socket=::socket(((struct sockaddr*)_SocketPtr)->sa_family,SOCK_DGRAM,0) ) < 0 ){
        NetException exception;
        char errstr[512];
        strerror_r_netplus(errno,errstr,512);
        exception[NetException::Error] << "Create Socket " << _Socket << " failed : " <<  errstr;
        throw exception;
    }

    if ( ::connect(_Socket,(struct sockaddr*)ssock->_SocketPtr,ssock->_SocketPtrSize) < 0) {
        char errstr[512];
        strerror_r_netplus(errno,errstr,512);

+3 −3
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@ namespace netplus {
                int sockopts);
            ~tcp();
            
            void          accept(socket *csock);
            void          accept(socket *ssock);
            void          bind();
            void          listen();
            int           fd();
@@ -121,7 +121,7 @@ namespace netplus {
                int sockopts);
            ~udp();

            void          accept(socket * csock);
            void          accept(socket * ssock);
            void          bind();
            void          listen();
            int           fd();
@@ -153,7 +153,7 @@ namespace netplus {
                int sockopts,const unsigned char *cert,size_t certlen,const unsigned char *key, size_t keylen);
            ~ssl();
            
            void          accept(socket *csock);
            void          accept(socket *ssock);
            void          bind();
            void          listen();
            int           fd();
+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ size_t netplus::ssl::recvData(socket *csock,void *data,unsigned long size){
    return 0;
}

void netplus::ssl::connect(socket *csock){
void netplus::ssl::connect(socket *ssock){
}

void netplus::ssl::setnonblocking(){
+15 −4
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@ netplus::tcp::tcp(const char* addr, int port,int maxconnections,int sockopts) :
}

netplus::tcp::~tcp(){
    if(_Socket>=0)
        ::closesocket(_Socket);
    ::free(_SocketPtr);
}
@@ -108,7 +109,7 @@ netplus::tcp::tcp() : socket() {
    _SocketPtr=::malloc(sizeof(sockaddr));
    _SocketPtrSize=sizeof(sockaddr);
    ((struct sockaddr*)_SocketPtr)->sa_family=AF_UNSPEC;
    _Socket=::socket(((struct sockaddr*)_SocketPtr)->sa_family,SOCK_STREAM,0);
    _Socket=-1;
    _Type=sockettype::TCP;
}

@@ -232,10 +233,20 @@ size_t netplus::tcp::recvData(socket *csock, void* data, unsigned long size,int
    }
    return (size_t)recvsize;
}
void netplus::tcp::connect(socket *csock){
void netplus::tcp::connect(socket *ssock){
    NetException exception;

    if ( ::connect(_Socket,(struct sockaddr*)csock->_SocketPtr,csock->_SocketPtrSize) < 0) {
    ((struct sockaddr*)_SocketPtr)->sa_family=((struct sockaddr*)ssock->_SocketPtr)->sa_family;

    if( (_Socket=::socket(((struct sockaddr*)_SocketPtr)->sa_family,SOCK_STREAM,0) ) < 0 ){
        NetException exception;
        char errstr[512];
        strerror_r_netplus(errno,errstr,512);
        exception[NetException::Error] << "Create Socket " << _Socket << " failed : " <<  errstr;
        throw exception;
    }

    if ( ::connect(_Socket,(struct sockaddr*)ssock->_SocketPtr,ssock->_SocketPtrSize) < 0) {

        char errstr[512];
        strerror_r_netplus(errno,errstr,512);
Loading