网络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...
Windows相关 消息队列 PostMessage 将消息异步发送到指定窗口的消息队列 目标窗口可以是同一进程或不同进程的窗口 只要发送方持有目标窗口的有效句柄(HWND),即可跨进程发送消息 场景: 例如通知其他进程的窗口更新界面或执行特定操作 例如结合 WM_COPYDAT...
服务端发送 客户端接收
Windows下网络编程 Winsock Windows下的网络编程基于 Winsock(Windows Sockets API),是对BSD socket的封装扩展,核心头文件是 winsock2.h,需要链接 ws2_32.lib 流程 基本流程和Linux socket类似...
创建VS工程 配置 属性页-链接器-输入-附加依赖项,添加:ws2_32.lib heads.h client.cpp
谁会去读发送缓冲区的数据 概述 是内核,但不是"被动等着读",而是主动触发的 触发时机1 send()调用本身,如果条件允许,会立即尝试发送 很多人以为send()只是"把数据扔进缓冲区,然后就不管了,等内核有空再处理" 实际上,在很多情况...
创建VS工程 配置 属性页-链接器-输入-附加依赖项,添加: ws2_32.lib heads.h server.cpp
创建Socket环境 创建VS工程 heads.h main.cpp
简易TCP服务端:创建步骤 建立一个socket socket 绑定端口 bind-申请一个端口用于socket服务 监听网络端口 listen-启动端口监听模式 等待客户端连接 accept-阻塞直到有客户端连接 循环 接收客户端数据 recv-阻塞直到有数据可读 向客户端发生...
socket地址API 字节序 现代CPU的累加器一次都能装载(至少)4个字节(32位机器),即一个整数。 这4个字节在内存中排列的顺序将影响它被累加器装载成的整数的值,这就是字节序问题。 字节序分为大端字节序和小端字节序。 大端字节序是指整数的高位字节存储在内存的低地址处,低位...
搜索当前标签