网络编程
文章平均质量分 87
发表计算机网络相关内容
W说编程
物联网、工业互联互行业,热衷于基础技术原理研究,分享技术
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux网络协议栈:从Socket到网卡的星辰大海
当你在浏览器中输入网址按下回车时,一场跨越多个抽象层的精密协作在Linux内核中展开。网络协议栈作为操作系统**最复杂的子系统**之一,每秒可处理数百万数据包,同时保持微秒级延迟。本章将深入Linux 6.x网络协议栈,揭示其如何实现**百万级并发连接**与**100Gbps吞吐量**的工程奇迹。原创 2025-06-04 20:44:27 · 1202 阅读 · 0 评论 -
《UNIX网络编程卷1:套接字联网API》第9章:基本SCTP套接字编程深度解析
SCTP作为新一代传输协议,在复杂网络环境下展现出独特优势。通过本章的系统学习,读者已掌握多流管理、多宿容灾等核心技术。建议结合练习题深化理解,并在5G核心网、金融交易等场景中实践应用。关注作者获取完整代码仓库,下章将深入探讨原始套接字与网络嗅探技术!原创 2025-04-08 09:38:40 · 1032 阅读 · 1 评论 -
《UNIX网络编程卷1:套接字联网API》第8章:基本UDP套接字编程深度解析
UDP作为轻量级传输协议,在实时性要求高的场景中具有不可替代的价值。通过本章的系统学习,我们不仅掌握了UDP编程的基础方法,还深入理解了广播/多播、可靠性增强等高级特性。建议读者结合示例代码进行实践,并尝试在真实项目中应用性能优化技巧。下章将深入探讨原始套接字与网络嗅探技术,敬请期待!原创 2025-04-08 09:33:41 · 1211 阅读 · 0 评论 -
《UNIX网络编程卷1:套接字联网API》第7章:套接字选项深度解析
本文详细讲解第7章套接字选项,并配有详细源码实战,助你掌握网络编程中socket套接字选项的使用。原创 2025-04-05 21:00:35 · 1209 阅读 · 9 评论 -
《UNIX网络编程卷1:套接字联网API》第6章 IO复用:select和poll函数
I/O复用是**高并发网络编程的基石**,允许单个进程/线程同时监控多个文件描述符(套接字)的状态变化,从而高效处理多个客户端请求。其核心价值在于:- **资源高效利用**:避免为每个连接创建独立线程/进程的内存与调度开销;- **事件驱动模型**:仅在数据可读/可写时触发处理逻辑,减少空转;- **实时性保障**:及时响应多个连接的并发事件。本文讲述第六章《IO复用:select和epoll函数》,通过原理与代码实例帮助您掌握并熟练使用。原创 2025-04-05 20:22:52 · 1461 阅读 · 6 评论 -
《UNIX网络编程卷1:套接字联网API》第5章 TCP客户服务器程序示例
本章通过一个完整的**TCP回射(Echo)客户/服务器程序**,深入解析TCP套接字编程的核心流程与关键问题。示例程序的功能为:客户端发送文本至服务器,服务器将文本原样返回。通过此案例,读者将掌握:1. **TCP通信全流程**:从套接字创建到连接终止;2. **并发服务器设计**:多进程/多线程模型实现;3. **健壮性处理**:应对网络异常与资源管理;4. **调试技巧**:使用工具分析协议交互。原创 2025-04-02 20:33:37 · 987 阅读 · 0 评论 -
《UNIX网络编程卷1:套接字联网API》第4章 基本TCP套接字编程
本章系统讲解了TCP套接字编程的核心API与并发模型,通过Echo案例展示了完整开发流程。通过本章学习,读者将掌握TCP套接字编程的核心技术,并具备开发高并发网络服务的能力。原创 2025-04-02 20:25:01 · 1134 阅读 · 1 评论 -
《UNIX网络编程卷1:套接字联网API》第3章 套接字编程简介
网络通信的基石套接字地址结构是网络编程的核心数据结构,定义了通信实体的网络标识与端口信息。不同协议族(如IPv4、IPv6、Unix域)拥有独立的地址结构,但均通过通用结构实现类型统一。原创 2025-04-02 20:11:07 · 824 阅读 · 1 评论 -
《UNIX网络编程卷1:套接字联网API》第2章 传输层:TCP、UDP和SCTP
本章深入解析了TCP、UDP、SCTP的协议机制与编程实践,通过对比分析指导协议选型,为复杂网络应用开发奠定基础。通过本章学习,读者将掌握传输层协议的核心原理,并能够根据场景需求选择最佳协议,设计高效可靠的网络应用。,直接决定应用的通信质量。:TCP服务器监听连接。(代码参考第1章示例)传输层是网络协议栈中。:SCTP单流服务器。原创 2025-03-19 09:36:08 · 522 阅读 · 4 评论 -
《UNIX网络编程卷1:套接字联网API》第1章 简介
《UNIX网络编程卷1:套接字联网API》第一章 网络编程的核心价值与挑战网络编程是实现跨设备通信的技术基础,其核心目标是通过协议栈实现数据的可靠传输与高效交换。在嵌入式系统、云计算、物联网等领域,网络编程能力直接决定了系统的扩展性、实时性和稳定性。异构网络环境:不同硬件(如ARM嵌入式设备与x86服务器)和操作系统(如Linux、RTOS)的兼容性问题;协议复杂性:TCP/IP协议族的层次化设计与状态机逻辑;资源限制:嵌入式设备的内存与计算资源有限,需优化网络栈实现。示例场景。原创 2025-03-19 09:33:38 · 216 阅读 · 3 评论 -
在嵌入式系统中实现低功耗MQTT协议:从协议解析到硬件优化
随着物联网设备的爆炸式增长,**设备续航**与**网络可靠性**成为嵌入式系统设计的核心矛盾。据统计,70%的物联网设备因功耗问题导致维护成本倍增。本文实现了嵌入式MQTT终端从“能用”到“高效”的跨越。实测数据表明,优化后设备续航提升40倍以上,完全满足工业物联网场景的严苛要求。采用CBOR(Concise Binary Object Representation)替代JSON,体积减少50%以上。原创 2025-02-24 06:53:33 · 1183 阅读 · 1 评论 -
在嵌入式Linux中实现高并发TCP服务器:从select到epoll的演进与实战
本文从传统多进程模型出发,逐步演进到epoll高并发方案,结合嵌入式系统的特性,实现了资源高效利用的TCP服务器。然而,嵌入式系统的资源限制(如内存、CPU性能)与复杂的网络环境(高延迟、低带宽)对网络编程提出了严峻挑战。在物联网(IoT)和工业4.0的推动下,嵌入式设备逐渐从。嵌入式设备内存有限,需避免频繁的malloc/free。将连接分配到多个epoll实例,充分利用多核CPU。为预分配内存块,减少动态内存分配。减少内核态与用户态的数据拷贝。原创 2025-02-24 06:44:41 · 1039 阅读 · 1 评论 -
《网络编程卷2:进程间通信》第九章:远程过程调用(RPC)深度解析与自研框架实践
远程过程调用(Remote Procedure Call,RPC) 是构建分布式系统的核心技术,其核心思想是让跨网络的服务调用如同本地函数调用一样简单。Richard Stevens在《网络编程卷2:进程间通信》第九章中系统性地阐述了RPC的设计哲学与实现原理。本文将结合自研轻量级RPC框架开发,深入解析协议设计、序列化机制、网络通信等核心模块,并提供可直接用于生产环境的C语言代码实现。原创 2025-02-15 10:48:29 · 1123 阅读 · 4 评论 -
《网络编程卷2:进程间通信》第八章:共享内存深度解析与多进程高性能通信实践
共享内存作为性能最高的IPC机制,在需要低延迟、高吞吐量的场景中不可替代。本文从内核实现到应用层开发,详细解析了共享内存的核心原理与实战技巧,并给出了同步策略与性能优化方法。分布式共享内存(DSM):跨多机节点的内存共享技术。RDMA(远程直接内存访问):绕过内核的网络内存访问。持久化内存(PMEM):Intel Optane等非易失内存技术。掌握这些高级主题,将帮助您构建下一代高性能计算系统。原创 2025-02-14 18:18:00 · 1135 阅读 · 1 评论 -
《网络编程卷2:进程间通信》第七章:同步机制深度解析与多场景实践
同步机制是多线程/多进程编程的基石,正确选择与使用同步工具是构建高并发系统的关键。本文从内核实现到应用实践,详细解析了各类同步机制,并提供了可直接用于生产的代码示例。内存屏障(Memory Barrier):深入理解底层原子操作。:Linux内核无锁同步技术。分布式锁:基于Redis/ZooKeeper的跨节点同步。掌握这些知识,您将能够设计出高性能、高可靠的并发系统。原创 2025-02-14 15:53:46 · 779 阅读 · 0 评论 -
《网络编程卷2:进程间通信》第六章:System V消息队列深度剖析与工业级实践
System V消息队列作为UNIX IPC的基石,其设计思想深刻影响了后续的中间件系统。尽管在现代系统中逐渐被POSIX标准和分布式消息队列(如Kafka、RabbitMQ)取代,但在嵌入式、实时系统及遗留系统维护中仍不可替代。掌握其核心机制与调优技巧,是深入理解操作系统原理和构建高可靠系统的关键。未来演进方向与容器技术集成:在Docker/K8s环境中管理IPC命名空间。安全增强:结合SELinux实现强制访问控制。性能监控:通过eBPF实现实时队列状态追踪。原创 2025-02-14 14:06:12 · 668 阅读 · 0 评论 -
《网络编程卷2:进程间通信》第五章:POSIX消息队列深度解析与高性能实践
POSIX消息队列凭借其高效的优先级管理和灵活的异步机制,成为高实时性系统的首选IPC方案。本文从内核实现到应用实践,详细剖析了其核心机制,并给出了多场景代码示例。容错设计:处理进程崩溃导致的半开队列。访问控制:结合Linux Capabilities限制队列访问权限。监控工具:使用查看队列状态,调整内核参数。扩展阅读ZeroMQ:基于消息队列的分布式通信框架。RDMA:绕过内核的高性能网络通信技术。掌握POSIX消息队列,不仅能够构建高效进程间通信系统,更为理解现代分布式消息中间件奠定基础。原创 2025-02-14 12:30:28 · 1110 阅读 · 0 评论 -
《网络编程卷2:进程间通信》第四章:管道与FIFO深度解析
管道与FIFO作为UNIX系统最古老的IPC机制,凭借其简洁性和高效性,至今仍广泛应用于多进程协作场景。匿名管道:适用于亲缘进程,需注意描述符关闭与方向控制。FIFO:突破亲缘限制,但需处理文件系统残留问题。在实际开发中,建议优先使用FIFO实现通用进程通信,并通过消息格式设计(如添加消息头)解决数据边界问题。对于高性能场景,可结合多线程与I/O多路复用技术(如selectpoll)进一步提升吞吐量。原创 2025-02-14 10:03:27 · 1144 阅读 · 1 评论 -
《网络编程卷2:进程间通信》第三章:System V IPC 核心机制与实战详解
System V IPC 提供了强大而灵活的进程间通信机制,但其设计较为复杂,需开发者手动管理资源生命周期。本文通过代码实例详细解析了消息队列、信号量和共享内存的实现方法,并总结了其应用场景与注意事项。优先选择 POSIX IPC:若系统支持,优先使用更现代的 POSIX 标准。合理设计 IPC 对象:避免键值冲突,及时清理资源。掌握 System V IPC 是深入理解 UNIX 系统编程的重要一步,也为维护遗留系统提供了必要的基础。原创 2025-02-14 09:14:39 · 1036 阅读 · 0 评论 -
《网络编程卷2:进程间通信》第二章:POSIX IPC深度解析与实践
在操作系统的多进程协作中,POSIX IPC(Portable Operating System Interface Inter-Process Communication)提供了一套标准化、可移植的进程间通信机制。相较于传统的System V IPC,POSIX IPC具有更简洁的API设计和更好的跨平台兼容性。Richard Stevens在《网络编程卷2:进程间通信》第二章中系统性地阐述了POSIX IPC的核心原理与实现。本文结合代码实例,深入解析POSIX消息队列、信号量和共享内存的实现机制及实战原创 2025-02-14 09:04:16 · 1248 阅读 · 0 评论 -
《网络编程卷2:进程间通信》第一章:深入解析进程间通信(IPC)
IPC机制的选择需综合考虑性能复杂度和场景需求管道:简单但局限性强。共享内存+信号量:高性能,适合频繁数据交换。消息队列:平衡了灵活性与效率。POSIX IPC:更现代的API设计(如mq_opensem_open网络化IPC:分布式系统中结合Socket与RPC框架。掌握IPC技术是构建高效、稳定多进程系统的基石,建议结合《网络编程卷2》后续章节,逐步深入实践。原创 2025-02-13 22:32:03 · 678 阅读 · 0 评论 -
Linux下线程间同步实现方式详解
Linux 中线程(Thread)是共享进程内存空间的轻量级执行单元,线程间通信(IPC)主要通过共享内存和同步机制实现。在Linux操作系统中,线程间实现同步通信的方式主要包括互斥锁(Mutex)、条件变量(Condition Variable)、信号量(Semaphore)、读写锁(Read-Write Lock)等。原创 2025-02-05 20:31:22 · 1341 阅读 · 0 评论 -
Linux下多线程编程
多线程是指在一个进程中同时运行多个线程,每个线程可以独立执行不同的任务。线程是操作系统调度的最小单位,多个线程共享同一个进程的内存空间和资源,但每个线程有自己的栈和寄存器状态。本文展示Linux下多线程编程实例。原创 2025-01-24 13:40:37 · 1106 阅读 · 0 评论 -
TCP协议及连接和断开过程详解
三次握手过程如下:客户端发送SYN报文。服务器回复SYN-ACK报文。客户端发送ACK报文。通过这一过程,双方确认了序列号和彼此的接收、发送能力,确保连接的可靠性。客户端状态服务器状态四次挥手过程:客户端发送FIN,请求关闭连接。服务器回复ACK,确认关闭请求。服务器发送FIN,请求关闭连接。客户端回复ACK,确认关闭请求。通过四次挥手,TCP连接被安全、可靠地关闭。原创 2025-01-21 17:45:26 · 911 阅读 · 0 评论 -
Linux下epoll函数使用解析
epoll是Linux下处理高并发I/O的高效机制,特别适合处理大量并发连接的场景。通过epoll_ctl和epoll_wait等系统调用,可以轻松实现事件驱动的I/O模型。原创 2025-01-20 00:34:00 · 793 阅读 · 0 评论 -
Linux下select使用
在Linux中,select是一个经典的IO多路复用函数,用于监控多个文件描述符(filedescriptors)的状态变化(如可读、可写或异常)。它允许程序同时等待多个文件描述符,并在其中任何一个文件描述符就绪时返回。函数原型nfds需要监控的文件描述符的最大值加1。例如,监控的文件描述符是0、1、2,则nfds应为3。readfds指向一个fd_set类型的文件描述符集合,用于监控是否有数据可读。如果为NULL,则表示不监控读事件。writefds指向一个fd_set。原创 2025-01-18 18:04:38 · 1023 阅读 · 0 评论 -
Linux下实现I/O多路复用
IO多路复用(I/OMultiplexing)是一种高效的I/O操作技术,允许单个进程或线程同时监控多个文件描述符(如套接字、管道等),并在其中任何一个文件描述符就绪时进行读写操作。这种技术常用于网络编程中,以提高程序的并发处理能力。1.文件描述符(FileDescriptor):在Unix/Linux系统中,文件描述符是一个用于访问文件或I/O资源的抽象标识符(如套接字、管道等)。2.就绪(Ready):当一个文件描述符可以进行非阻塞的读写操作时,称为“就绪”。3.阻塞与非阻塞。原创 2025-01-18 17:01:49 · 882 阅读 · 0 评论 -
Linux下C语言实现TCP socket通信服务端与客户端
TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。本文介绍TCP通信原理,以及通过C语言在linux系统下实现服务端与客户端通信程序。原创 2025-01-12 22:11:33 · 692 阅读 · 0 评论 -
TCP/IP协议簇及IP首部详解
TCP/IPIP协议IP HeaderIPv6原创 2022-04-22 23:47:49 · 3192 阅读 · 0 评论 -
TCP与UDP选择对比
TCP与UDP理解共同点TCP与UDP同属于TCP/IP协议族中传输层的两个重要协议,不同于网络层实现的跨网络跨节点的点对点(不同宿主间)通信,传输层实现的是端到端之间的通信(运行于不同宿主机上的进程间通信)。这是TCP与UDP协议设计和开发的目标。TCPTCP是Transmission Control Protocol的缩写,表示传输控制协议,是一种面向连接的通信协议,一笔TCP的数据被称为一个TCP分节(segment)。TCP提供面向字节流式传输能力,无数据边界,即TCP的header原创 2022-04-20 16:55:19 · 2570 阅读 · 0 评论 -
常用TCP/UDP端口号
常见TCP端口号 TCP端口号 协议 描述 11 systat 列举连接了的端口的系统状态 13 daytime 请求主机发送日期和时间 20 FTP-DATA 文件传输协议(数据连接) 21 FTP 文件传输协议(控制连接) 22 ssh 安全 Shell(SSH)服务 23 Telnet 远程登录协议 25 SMTP 简单邮件传输协议 53 ...原创 2021-09-15 11:06:14 · 1018 阅读 · 0 评论 -
IETF RFC793
RFC 793 - Transmission Control Protocol (RFC793)原创 2021-09-14 21:03:21 · 319 阅读 · 0 评论 -
IPv6简述
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 IPv6由来一、pandas是什么? IPv6能给我们带来什么二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于Num..原创 2021-04-22 14:24:45 · 965 阅读 · 0 评论
分享