可以通过函数getsockname(2)来获得本地套接口地址。
函数定义:
#include<sys/socket.h>
int getsockname(int s,struct sockaddr *name,socklen_t *namelen);
参数说明:
s:要得到地址的套接口标识符。
name:指向接收缓冲区的指针。
namelen:这个变量指出了接收缓冲区所能接受的最大长度。在调用返回之前,它的值被重写为缓冲区实际写入的字节数。
返回值:
如果成功返回0,否则返回-1,错误信息在errno中查看。
我们还可以利用函数getpeername(2)来获得与本地相连的远程套接口地址。
函数定义:
#include<socket.h>
int getpeername(iint s,struct sockaddr *name,socklen_t *namelen);
它的参数说明与函数gethostname完全一样。
转载请注明:爱开源 » Linux Socket 学习笔记9-获得套接口地址