网络编程—套接字和地址函数(4)

本文介绍了网络编程中常用的重要接口,包括获取本地套接字名称、远程连接地址信息的方法及使用sockaddr获取hostent记录的过程。此外还详细解释了hostent结构体的各个字段含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面介绍一下对于网络编程中常用的接口:

#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,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值