地址族与数据序列

书上讲解了一些ipv4地址的概念,以及ipv6地址的概念。

又说了一些端口号的概念,以及端口号的作用。

但是还是很复杂的,直接理解我第一章节说的内容,每个概念只有一句话.但是这是建立在我对网络编程的了解基础上的.

下讲解了

 1mindmap
 2    root((sockadd_in))
 3        sin_family(sin_family)
 4            AF_INET(AF_INET)
 5            AF_INET6(AF_INET6)
 6            AF_Local(AF_Local)
 7        sin_port(sin_port)
 8            htons("htons(int)")
 9        sin_addr(sin_addr)
10            s_addr(s_addr)
11                inet_addr("inet_addr(char*)")

需要把sockaddr_in转化成struct sockaddr *才能使用bind()等函数.

网络字节序与地址的转换

每次创建服务器端socket都要输入IP地址会有些繁琐,此时可以使用如下的初始化地址信息

1struct sockaddr_in server_addr;
2char * serv_port = "8989";
3server_addr.sin_family = AF_INET;
4server_addr.sin_port = htons(atoi(serv_port));
5server_addr.sin_addr.s_addr = inet_addr(INADDR_ANY);