int Socket::recvFrom(void* buffer, int length, SocketAddr& addr, int flags) { char buf[MAX_SOCKLEN]; socklen_t len = sizeof(buf); int res = recvFrom(buffer,length,(struct sockaddr*)buf,&len,flags); if (res != socketError()) addr.assign((struct sockaddr*)buf,len); return res; }
bool Socket::getPeerName(SocketAddr& addr) { char buf[MAX_SOCKLEN]; socklen_t len = sizeof(buf); bool ok = getPeerName((struct sockaddr*)buf,&len); if (ok) addr.assign((struct sockaddr*)buf,len); return ok; }