网络I/O 介绍 4
介绍 网络应用需要处理解决的主要可以归为两大类问题: 网络I/O 数据计算 网络I/O的本质是socket的读取,socket在linux系统被抽象为流,I/O可以理解为对流的操作。这个操作又分为两个阶段: 等待流数据准备(wating for the data to be re...
介绍 网络应用需要处理解决的主要可以归为两大类问题: 网络I/O 数据计算 网络I/O的本质是socket的读取,socket在linux系统被抽象为流,I/O可以理解为对流的操作。这个操作又分为两个阶段: 等待流数据准备(wating for the data to be re...
IP 在ip协议中,用来标识网络中不同主机的地址 在ip数据包的头部,有两个ip地址,源ip地址,目标ip地址 IPV4 4个字节,32位整数 192.168.0.1 IPV6 端口号 用来标识一个进程,告诉操作系统当前的数据包交由哪个进程处理 ip+端口号,能够标识网络上某一台...
UNIX-LINUX套接字描述符 套接字描述符是一个整数值,用于唯一标识进程中的一个开放的网络连接或者套接字 在UNIX和Linux系统中,套接字描述符是一种特殊类型的文件描述符,可以用于表示打开的文件、管道、设备或者网络连接 套接字描述符唯一标识了进程中的一个网络连接 在创建新...
overlapped i/o 概述 Overlapped I/O 是 Windows 平台特有的异步 I/O 模型,是 Windows 高性能网络编程(尤其是 IOCP)的基础 为什么需要它 同步 I/O(如 Linux 下常见的 recv/send)调用会阻塞线程,直到操作完成...
服务端发送 客户端接收
平台相关 select 支持:windows 支持:linux,macos,bsd,aix等 poll 支持:linux,macos,bsd等 不支持:一些交旧的或特定的unix操作系统可能不支持poll 不支持:windows不提供标准的poll,但可以通过其他相似的api来达...
WIN32_LEAN_AND_MEAN 一个预处理宏,用于控制 Windows 头文件中包含哪些内容 具体来说,定义这个宏会减少 Windows 头文件中包含的一些不常用的头文件和 API,从而减小编译时间并减少编译产生的二进制文件的大小 比如在包含 windows.h 之前定义...
创建Socket环境 创建VS工程 heads.h main.cpp
简易TCP服务端:创建步骤 建立一个socket socket 绑定端口 bind-申请一个端口用于socket服务 监听网络端口 listen-启动端口监听模式 等待客户端连接 accept-阻塞直到有客户端连接 循环 接收客户端数据 recv-阻塞直到有数据可读 向客户端发生...
谁会去读发送缓冲区的数据 概述 是内核,但不是"被动等着读",而是主动触发的 触发时机1 send()调用本身,如果条件允许,会立即尝试发送 很多人以为send()只是"把数据扔进缓冲区,然后就不管了,等内核有空再处理" 实际上,在很多情况...
搜索当前分类