网络编程

11.2 网络

网络协议的基本功能

  1. 命名机制:每台主机分配一个互联网地址,唯一表示这台主机
  2. 传送机制:定义一种数据位,包装数据,来消除差异:一个包是由包头和有效载荷组成的,包头包含了源主机和目的主机的地址,有效载荷包括从源主机发送的数据位

11.3 全球IP因特网

IP地址通常是以一种成为点分十进制表示法来表示的,例如:128.2.194.242就是地址0x8002c2f2的点分十进制表示,应用程序要有IP地址和点分十进制串之间的转换。 所以我们的IP地址其实就跟内存地址类似,只是用点分十进制法来表示了。所以就有对应的32位IPv4地址和128位IPv6地址

11.4 套接字接口

基本流程:

  1. 客户端:连接指定地址+端口(socket connect)
  2. 服务端:bind要监听的地址+端口(socket bind)
  3. 服务端:开始监听(listen)
  4. 客户端:发送消息(send)
  5. 服务端:允许连接(accept)
  6. 服务端:收到消息,发送回执(recv,send)
  7. 客户端:收到消息(recv)

getaddrinfo:可以通过传递hostname,拿到对应的ip地址(数组),然后我们可以一个个进行connect,找到可以连接的,然后用语socket

参考:Linux Socket编程(不限Linux)

我们所有的网络服务,都是基于socket实现的


--EOF--

若无特别说明,本站文章均为原创,转载请保留链接,谢谢