logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C++网络编程(三)TCP通信流程

TCP通信是一个典型的客户端-服务器模型,通过三次握手建立可靠连接,在通信过程中保证数据的完整性和有序性,最后通过四次挥手优雅断开连接。理解TCP通信流程对于网络编程至关重要,它是构建稳定网络应用的基础。无论是服务器端还是客户端,都需要遵循创建套接字→建立连接→数据通信→断开连接的基本流程,只是具体实现细节有所不同。掌握这些核心概念和代码实现,将为深入学习网络编程打下坚实基础。

#网络#服务器#tcp/ip
C++网络编程(二)字节序与IP地址转换

BSD Socket提供了专门的字节序转换接口,用于主机字节序与网络字节序之间的转换:​​htons()- 主机到网络的16位整数转换(用于端口号)htonl()- 主机到网络的32位整数转换(用于IPv4地址)ntohs()- 网络到主机的16位整数转换ntohl()- 网络到主机的32位整数转换。

#服务器#开发语言
C++网络编程(五)socket编程---从socket()到connect()

这些核心API构成了网络编程的基础,理解每个函数的作用和参数含义是编写稳定网络应用程序的关键。在实际开发中,还需要注意错误处理、非阻塞IO、多路复用等高级特性,以构建高性能的网络应用。

#c++#网络#开发语言
C++网络编程(一)字节序

字节序(Endianness)指的是数据在内存中存储的字节顺序,主要分为两种类型:​和。

#网络
C++网络编程(四)文件描述符

文件描述符是操作系统中的一个重要概念,尤其在网络编程中扮演着关键角色。它本质上是一个整数标识符,用于代表打开的文件、套接字或其他I/O资源。在服务器应用中,文件描述符常用于处理客户端连接和数据传输。下面我将基于常见的技术细节,简要解释文件描述符的核心机制,包括监听和通信部分,以及内核中的缓冲区管理。

#linux#服务器#网络
C++网络编程(六)代码示例---简单的多进程并发服务器

在服务器开发中,处理多个客户端连接是一个常见需求。多进程模型是一种经典的并发处理方式,它通过创建子进程来分担任务,提高服务器的吞吐量和响应能力。本文将基于技术笔记,详细解析多进程服务器的核心概念和实现细节,帮助您理解其工作原理。

#服务器#linux
C++网络编程(九)select模型(含服务端代码示例)

Select 模型的主要优点包括跨平台支持和简单性,但它也有局限性:​线性扫描效率低​:当文件描述符数量很大时(如成千上万),内核的线性遍历会成为性能瓶颈,因为时间复杂度为 O(n)。​集合大小限制​:文件描述符集合有固定大小(通常由 FD_SETSIZE 定义),可能限制可监控的描述符数量。​重复初始化​:由于集合是传入传出参数,每次调用 Select 前都需要重新初始化集合,增加了编程复杂度。

#c++#网络#开发语言
C++网络编程(十)epoll模型与select的区别

​:epoll在Linux环境下性能最优,适合高并发应用;select虽跨平台但连接数受限;poll是epoll的前身,效率不如epoll。在选择时,应根据平台和并发需求决定。

#c++#网络#开发语言
C++网络编程(八)---IO多路转接

IO多路转接技术主要用于解决高并发场景下传统多线程/多进程模型的资源消耗问题。其核心原理是,通过内核统一监控多个文件描述符的状态变化,再通知应用程序进行针对性处理。

#网络
C++网络编程(十三)epoll如何设置边缘模式

边沿模式在epoll中提供了高性能,但要求应用程序正确处理数据读取。通过设置文件描述符为非阻塞,并结合循环读取,可以克服边沿模式的弊端。实践时,总是检查read的返回值,处理EAGAIN情况,以确保服务器稳定运行。这种模式常见于高并发服务器设计,如Web服务器或实时系统。

#c++#网络
    共 13 条
  • 1
  • 2
  • 请选择