一、概念
#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应用场景
三、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;