文件名称:网络基础编程-复高斯分布的数学基础理论
文件大小:6.48MB
文件格式:PDF
更新时间:2024-06-28 07:07:25
嵌入式 Linux C
11.2 网络基础编程 11.2.1 socket 概述 1.socket 定义 人们常说的 socket 接口是一种特殊的 I/O,它也是一种文件描述符。每一个 socket 都用 一个半相关描述{协议,本地地址、本地端口}来表示;一个完整的套接字则用一个相关描述{协 议,本地地址、本地端口、远程地址、远程端口}。在 Linux 系统下,用户通过 socket 接口进 行网络编程操作。 socket 也有一个类似于打开文件的函数调用,该函数返回一个整型的 socket 描述符,随 后的连接建立、数据传输等操作都是通过 socket 来实现的。 2.socket 类型 常见的 socket 有流式 socket 、数据报 socket 和原始 socket 3 种类型,详细讲解如下。 � 流式套接字(SOCK_STREAM)提供可靠的、面向连接的通信流,它使用 TCP 协议, 从而保证了数据传输的正确性和顺序性。 � 数据报套接字(SOCK_DGRAM)定义了一种无连接的服务,数据通过相互独立的 报文进行传输,是无序的,并且不保证是可靠、无差错的,它使用数据报协议 UDP。 � 原始套接字允许对底层协议如 IP 或 ICMP 进行直接访问,它功能强大但使用较为不 便,主要用于一些协议的开发。 图 11.6 UDP 数据包头 UDP 长度 源地址 目的地址 协议