socket编程1
socket是一种通讯机制,它给应用程序提供了使用如TCP/UDP的网络协议的方式;
linux中的网络编程是通过socket接口实现的,socket是一种特殊的IO,提供对应的文件描述符。
一个完整的socket包括:
协议、本地地址、本地端口、远端地址、远端端口;
字节序:
不同体系结构的主机使用不同的字节序存储数据。
大端字节序:高地址放高字节
小端字节序:高地址放低字节
网络采用的是大端字节序
网络传输的数据(整型数)一定要统一字节序,所以当本机字节序和网络字节序不同时,一定要进行转换:
通用地址结构:
sa_family:IPV4使用AF_INET
sa_data:包含远端地址、端口、套接字数目,里面的数据是混杂在一起的
因特网地址结构:
因特网地址结构和通用地址结构是等效的,可以和相互转换,通常使用sockaddr_in更方便
IPV4地址族和字符串地址(点分十进制)间的转换:
参数:
填写IPV4地址族结构案列: