getpeername(2) System Calls Manual getpeername(2) NOMBRE getpeername - obtiene el nombre del conector en el otro extremo BIBLIOTECA Biblioteca Estandar C (libc, -lc) SINOPSIS #include int getpeername(int sockfd, struct sockaddr *restrict addr, socklen_t *restrict addrlen); DESCRIPCION getpeername() retornara la direccion del par conectado al socket sockfd, en el bufer que apunta addr. El argumento addrlen debe inicializarse para indicar la cantidad de espacio apuntado por addr. Al devolver, contiene el tamano real del nombre devuelto (en bytes). El nombre se trunca si el bufer proporcionado es demasiado pequeno. La direccion devuelta se trunca si el tamano del bufer indicado es demasiado pequeno; en este caso, addrlen devolvera un valor mayor que el proporcionado a la llamada. VALOR DEVUELTO En caso de exito se devuelve cero. En caso de error se devuelve -1, y errno se configura para indicar el error. ERRORES EBADF El argumento sockfd no es un descriptor de archivo valido. EFAULT El parametro addr apunta a memoria que no esta en una zona valida del espacio de direcciones del proceso. EINVAL addrlen es invalido (por ejemplo: tiene valor negativo). ENOBUFS Insuficientes recursos disponibles para realizar la operacion. ENOTCONN El conector no esta conectado. ENOTSOCK El descriptor de archivo sockfd no se refiere a un conector. ESTANDARES POSIX.1-2008. HISTORIAL POSIX.1-2001, SVr4, 4.4BSD (aparecio por primera vez en 4.2BSD). NOTAS Para los sockets de flujo, una vez ejecutada una instruccion connect(2), cualquiera de los sockets puede llamar a getpeername() para obtener la direccion del socket parejo. Por otro lado, los sockets de datagrama no requieren conexion. Llamar a connect(2) en un socket de datagrama simplemente establece la direccion del par para los datagramas salientes enviados con write(2) o recv(2). Quien llama a connect(2) puede usar getpeername() para obtener la direccion del par que previamente establecio para el socket. Sin embargo, el socket del par no dispone de esta informacion e invocar a getpeername() en el no devolvera informacion util (a menos que tambien se haya ejecutado una llamada a connect(2) en el par). Tenga en cuenta tambien que el receptor de un datagrama puede obtener la direccion del emisor al usar recvfrom(2). VEASE TAMBIEN accept(2), bind(2), getsockname(2), ip(7), socket(7), unix(7) TRADUCCION La traduccion al espanol de esta pagina del manual fue creada por Gerardo Aburruzaga Garcia , Juan Piernas y Marcos Fouces Esta traduccion es documentacion libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algun error en la traduccion de esta pagina del manual, envie un correo electronico a . Paginas de Manual de Linux 6.15 17 Mayo 2025 getpeername(2)