下面介绍一下对于网络编程中常用的接口:
#include <sys/socket.h>
// 查找绑定到套接字的地址
// param:
// socketfd: in,要查询的套接字
// addr: out,返回的地址以及端口信息
// len: in, sockaddr大小
getsocketname(int socketfd, struct sockaddr* addr, socklen_t *len);
// 获取连接对方的地址信息
// param:
// sockfd: in, 连接好的socket
// addr: out, 返回的地址以及端口信息
// len: in, sockaddr字节大小
getpeername(int sockfd, struct sockaddr *addr, socklen_t &len);
struct hostent
{
char *h_name; //正式主机名
char **h_aliases; //主机别名
int h_addrtype; //主机IP地址类型:IPV4-AF_INET
int h_length; //主机IP地址字节长度,对于IPv4是四字节,即32位
char **h_addr_list; //主机的IP地址列表
};
// 查询主机名所对应的hostent相关信息
// param: name: in,主机名
struct hostent *gethostbyname(const char *name);
// 根据sockaddr和地址类型返回hostent信息
// addr: in,sockaddr地址指针
// len: in,sockaddr长度
// type: in,地址类型,AF_INET(ipv4),AF_INET6(ipv6)
struct hostent *gethostbyaddr(const void *addr,