getpeername() - Unix、Linux 系统调用
Tutorials Point


  Unix 初学者指南
  Unix Shell 编程
  高级 Unix
  Unix 有用参考
  Unix 有用资源
  精选阅读

版权所有 © 2014 tutorialspoint



  首页     参考     讨论论坛     关于 TP  

getpeername() - Unix、Linux 系统调用


previous next AddThis Social Bookmark Button

广告

名称

getpeername - 获取已连接对等套接字的名称

语法

#include <sys/socket.h>

int getpeername(int s, struct sockaddr *name, socklen_t *namelen);

描述

getpeername() 返回连接到套接字 s 的对等方的名称。namelen 参数应初始化为指示 name 指向的空间量。返回时,它包含返回的名称的实际大小(以字节为单位)。如果提供的缓冲区太小,则名称将被截断。

返回值

成功时,返回零。错误时,返回 -1,并且 errno 设置为适当的值。

错误

标签描述
EBADF 参数 s 不是有效的描述符。
EFAULT name 参数指向进程地址空间中无效部分的内存。
EINVAL namelen 无效(例如,为负)。
ENOBUFS
 系统中没有足够的资源来执行操作。
ENOTCONN
 套接字未连接。
ENOTSOCK
 参数 s 是文件,而不是套接字。

符合标准

SVr4、4.4BSD(getpeername() 函数调用首次出现在 4.2BSD 中)、POSIX.1-2001。

注意

getpeername() 的第三个参数实际上是 int *(这是 4.x BSD 和 libc4 和 libc5 所具有的)。一些 POSIX 混淆导致了当前的 socklen_t,glibc 也使用它。另请参阅 accept(2)。

参见



previous next Printer Friendly

广告


  

广告



广告