51CTO:Linux C++网络编程四
UNIX-LINUX套接字描述符 套接字描述符是一个整数值,用于唯一标识进程中的一个开放的网络连接或者套接字 在UNIX和Linux系统中,套接字描述符是一种特殊类型的文件描述符,可以用于表示打开的文件、管道、设备或者网络连接 套接字描述符唯一标识了进程中的一个网络连接 在创建新...
UNIX-LINUX套接字描述符 套接字描述符是一个整数值,用于唯一标识进程中的一个开放的网络连接或者套接字 在UNIX和Linux系统中,套接字描述符是一种特殊类型的文件描述符,可以用于表示打开的文件、管道、设备或者网络连接 套接字描述符唯一标识了进程中的一个网络连接 在创建新...
概述 TCP是一种面向连接的协议,提供了可靠、有序和错误检测机制的字节流服务 与无连接的UDP协议相比,TCP强调数据完整性和可靠性 特点 可靠性 TCP确保所有数据包按顺序到达,如果丢失或出错,它们将被重新传输 面向连接 在数据交换之前,通信双方必须建立连接 全双工 一旦连接建...
平台相关 select 支持:windows 支持:linux,macos,bsd,aix等 poll 支持:linux,macos,bsd等 不支持:一些交旧的或特定的unix操作系统可能不支持poll 不支持:windows不提供标准的poll,但可以通过其他相似的api来达...
WIN32_LEAN_AND_MEAN 一个预处理宏,用于控制 Windows 头文件中包含哪些内容 具体来说,定义这个宏会减少 Windows 头文件中包含的一些不常用的头文件和 API,从而减小编译时间并减少编译产生的二进制文件的大小 比如在包含 windows.h 之前定义...
HTTP1 概述 HTTP/0.9局限性(1989) 仅支持 GET 方法,无状态码、无头部字段,每次请求需重新建立 TCP 连接 HTTP/1.0性能瓶颈(1996) 默认短连接导致频繁三次握手,且无复用机制,造成高延迟和资源浪费 关键需求:降低网络延迟、减少重复头部传输、支持...
特点 libcurl 基本是线程安全的,但在多线程环境下需要注意 避免在多个线程中共享同一个 CURL 句柄 使用共享句柄(CURLSH)时需特别注意线程安全 性能 考虑使用持久连接(Keep-Alive) 尽可能重用 CURL 句柄以利用持久连接(Keep-Alive),这可以...
Windows下网络编程 Winsock Windows下的网络编程基于 Winsock(Windows Sockets API),是对BSD socket的封装扩展,核心头文件是 winsock2.h,需要链接 ws2_32.lib 流程 基本流程和Linux socket类似...
概述 QUIC(Quick UDP Internet Connections)是一种基于 UDP 的传输层协议,由 Google 于 2012 年提出,旨在解决 TCP 和 TLS 的性能瓶颈,提供更快的连接建立、更低的延迟和更强的可靠性 2018 年,QUIC 被标准化为 IE...
IP 在ip协议中,用来标识网络中不同主机的地址 在ip数据包的头部,有两个ip地址,源ip地址,目标ip地址 IPV4 4个字节,32位整数 192.168.0.1 IPV6 端口号 用来标识一个进程,告诉操作系统当前的数据包交由哪个进程处理 ip+端口号,能够标识网络上某一台...
谁会去读发送缓冲区的数据 概述 是内核,但不是"被动等着读",而是主动触发的 触发时机1 send()调用本身,如果条件允许,会立即尝试发送 很多人以为send()只是"把数据扔进缓冲区,然后就不管了,等内核有空再处理" 实际上,在很多情况...
搜索当前分类