UNIX(网络编程-基本用法):05---地址获取函数:getsockname、getpeername

一、概念

#include<sys/socket.h>
int getsockname(int sockfd,struct sockaddr *localaddr,socklen_t *addrlen);
int getperrname(int sockfd,struct sockaddr *perraddr,socklen_t *addrlen);
  • getsockname:用于获取本地协议地址
  • getpeername:用于获取外地协议地址

参数:

  • 参数1:套接字描述符
  • 参数2:用来保存地址信息的套接字结构体
  • 参数3:相对于参数2的结构体地址大小指针

返回值:

  • 成功:0
  • 失败:-1

二、getsockname应用场景

UNIX(网络编程-基本用法):05---地址获取函数:getsockname、getpeername

UNIX(网络编程-基本用法):05---地址获取函数:getsockname、getpeername

三、getpeername应用场景

UNIX(网络编程-基本用法):05---地址获取函数:getsockname、getpeername

四、演示案例

int sockfd=socket(AF_INET,SOCK_STREAM,0);
struct sockaddr_storage ss;
socklen_t len;
len=sizeof(ss);

if(getsockname(sockfd,(struct sockaddr*)&ss,&len)<0)
    return -1;

UNIX(网络编程-基本用法):05---地址获取函数:getsockname、getpeername

相关文章: