From: Christian P. <cp...@us...> - 2005-01-07 13:39:11
|
Update of /cvsroot/pclasses/pclasses2/src/Net In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4490/src/Net Modified Files: Socket.cpp Log Message: Added Socket::connect(). Index: Socket.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/src/Net/Socket.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Socket.cpp 3 Jan 2005 13:50:45 -0000 1.4 +++ Socket.cpp 7 Jan 2005 13:39:02 -0000 1.5 @@ -31,11 +31,11 @@ #include <netinet/in.h> -#ifdef HAVE_APPLETALK +#ifdef PCLASSES_HAVE_APPLETALK # include <netatalk/at.h> #endif -#ifdef HAVE_IPX +#ifdef PCLASSES_HAVE_IPX # include <netipx/ipx.h> #endif @@ -341,6 +341,18 @@ throw IO::IOError(errno, "Could not bind address to socket", P_SOURCEINFO); } +void Socket::connect(const NetworkAddress& addr, port_t port) throw(IO::IOError) +{ + size_t socketAddrLen = 0; + sockaddr* socketAddr = makeSocketAddress(addr, port, socketAddrLen); + + int ret = ::connect(_handle, socketAddr, socketAddrLen); + delete socketAddr; + + if(ret == -1) + throw IO::IOError(errno, "Could not connect socket", P_SOURCEINFO); +} + void Socket::setSendTimeout(unsigned int timeout) throw(IO::IOError) { SocketOption<SOL_SOCKET, SO_SNDTIMEO, int> opt(_handle); |