Linux系统编程-Server Socket (11)
发布时间
阅读量:
阅读量
在早期网络编程中,在使用网络编程函数时都会基于一个称为"struct sockaddr"的结构体进行操作。然而,在技术的进步与发展下,在IPv4协议被提出后,在为了确保向后兼容性的前提下,"sockaddr"这一概念逐渐被退化为一个仅具有作用于void *指针变量的作用域,并在内部会被强制类型转换为sockaddr_in、sockaddr_un或scokaddr_in6其中之一。其中,sockaddr_in标识符对应于AF_INET协议,sockaddr_un标识符对应于AF_UNIX操作系统,而scok addr_in6标识符则对应于AF_INET6协议。
在定义阶段, 建议应定义为struct sockaddr_in, 而在实际应用中, 传递参数时需强制转换为struct sockaddr *
bind函数,accept函数,connect函数调用时会遇到这个问题。
struct sockaddr_in {
sa_family_t sin_family; /* address family: AF_INET */
in_port_t sin_port; /* port in network byte order */
struct i
全部评论 (0)
还没有任何评论哟~
