【Linux】初识套接字

前言

套接字接口 : 类似于管道的用法
套接字用途:

  • 同一台计算机的进程通信
  • 支持分布在网络中的客户端/服务器之间通信

(一)套接字

(1)认识套接字

  • 一种通信机制
  • 可以实现本机/跨网络通信
  • 套接字的创建和使用不同于管道
  • 套接字支持多个客户端连接同一个服务器

(2)套接字的属性

1. 套接字的域

域指定套接字的使用的网络介质常用的是AF_INET,指的就是Internet(网际协议(IP地址)来确定网络中的计算机)

2. 套接字类型
  • 流套接字(stream)
  • 有序、可靠的、双向字节流连接
  • 确保不丢失、不重复、不乱序
  • 大消息会经过分片、传输、再重组
  • 流套接字的行为是可以预见
  • 流套接字由SOCK_STREAM指定,它们是在AF_INET域通过TCP/IP(传输控制协议)连接实现的
  • 数据报套接字(datagram)
  • 无连接的,无序不可靠的服务
  • 数据包的长度会有限制,作为一个单独的网络消息被传输,有可能丢失、重复、乱序
  • 数据报套接字由SOCK_DGRAM指定,是在AF_INET域中通过UDP/IP(用户数据报协议)连接实现的
  • 资源开销比较小,无需维持网络连接,速度快
3. 套接字协议
  • protocol(套接字协议)
    底层的套接字协议不止一种,也可以选择特定的协议,下面主要学习UNIX网络套接字和文件系统套接字

猜你喜欢

转载自blog.csdn.net/xiaoxiaoguailou/article/details/121566534