UNP 学习笔记——套接字编程简介

栏目: IT技术 · 发布时间: 7年前

内容简介:UNP 学习笔记——套接字编程简介

1、IPv4 套接字地址结构是什么?

struct sockaddr_in{
    uint8_t sin_len;
    sa_family_t sin_family;
    in_port_t sin_port;

    struct in_addr sin_addr;
    char sin_zero[8];
};

struct in_addr{
    in_addr_t s_addr; // 4 bytes
};

2、通用套接字地址结构是什么?

struct sockaddr{
    uint8_t sa_len;
    sa_family_t sa_family;
    char sa_data[14]; 
};

struct sockaddr_in serv;
bind (sockfd, (struct sockaddr *) &serv, sizeof (serv)); // 强制类型转换

3、IPv6 套接字地址的结构是什么?

struct sockaddr_in6{
    uint8_t sin6_len;
    sa_family_t sin6_family;
    in_port_t sin6_port;

    uint32_t sin6_flowinfo; 

    struct in6_addr sin6_addr;
    uint32_t sin6_scope_id; 
};

struct in6_addr {
    uint8_t s6_addr[16];
};

4、新的通用套接字地址结构是什么?

struct sockaddr_storage{
    uint8_t ss_len;
    sa_family_t ss_family; 

    ...
};

5、字节 排序 函数有哪些?

uint16_t htons(uint16_t ); 
uint32_t htonl(uint32_t );
uint16_t ntohs(uint16_t ); 
uint32_t ntohl(uint32_t );

6、地址字符串与网络字节序转化的函数有哪些?

int inet_pton(int family, const char* strptr, void* addptr); 
const char* inet_ntop(int family, const void* addptr, char* strptr, size_t len); 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Programming Ruby

Programming Ruby

Dave Thomas、Chad Fowler、Andy Hunt / Pragmatic Bookshelf / 2004-10-8 / USD 44.95

Ruby is an increasingly popular, fully object-oriented dynamic programming language, hailed by many practitioners as the finest and most useful language available today. When Ruby first burst onto the......一起来看看 《Programming Ruby》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具