- 博客(11)
- 收藏
- 关注
原创 Wireshark网络分析器使用指南:从入门到精通
Wireshark是一个开源的网络数据包分析软件,可以捕获并详细显示网络数据包的内容,支持上千种网络协议的解码。理解网络协议:TCP/IP、HTTP、DNS等熟练使用过滤器:快速定位问题掌握分析方法:从整体到细节积累实战经验:多分析真实案例通过本文的学习,你应该能够:✅ 安装配置Wireshark✅ 使用过滤器精确定位数据包✅ 分析常见网络问题✅ 使用高级统计功能✅ 遵循最佳实践记住:Wireshark是一个需要不断实践的工具,多捕获、多分析、多思考,你就能成为网络分析的高手!下一步建议。
2025-10-13 14:27:33
618
原创 深入理解 TCP 带外数据:不是 “加急通道”,却是紧急场景的关键设计
本文深入解析TCP带外数据(OOB)的本质与运作机制。首先澄清三大误区:1)OOB并非独立通道,而是共用TCP连接;2)仅适合传输1字节紧急指令而非大量数据;3)可靠性不高于普通数据。核心实现依赖TCP首部的URG标志位和紧急指针,通过四步流程完成发送、识别、通知和读取。实际应用中主要用于远程中断等极简场景,更多通过应用层标记替代以解决兼容性问题。关键结论:OOB是TCP协议内轻量级的逻辑标记机制,专为紧急控制设计,业务传输应优先考虑应用层方案。
2025-10-11 17:14:26
386
原创 手把手实现UDP多人聊天室
本文介绍了一个基于UDP协议的多人聊天室实现方案。通过UDP的无连接特性实现低延迟通信,服务器采用单向链表管理用户信息,支持用户加入/退出通知、消息转发和用户名重复校验三大核心功能。文章详细讲解了服务器端和客户端的核心设计,包括数据结构、多线程处理以及常见问题排查方法(如消息转发失败问题)。最后提供了完整的源码实现和运行步骤,适合网络编程初学者参考学习。该方案在Linux环境下开发,使用C语言实现,通过多线程解决客户端同时收发消息的问题,并包含异常处理机制确保程序稳定运行。
2025-10-11 09:58:04
2194
原创 网络编程必备:IP 地址与端口转换函数全解析
摘要: 本文系统讲解了C语言网络编程中的IP地址与端口转换函数,重点解析字节序(主机/网络)和IP格式(二进制/字符串)两大核心概念。详细介绍了inet_addr、inet_pton等IP转换函数,以及htons、ntohl等字节序转换函数的使用场景与差异,通过实战代码演示如何正确处理IPv4/IPv6地址及端口。强调推荐使用线程安全的inet_ntop和支持双栈的inet_pton,并指出常见陷阱(如inet_ntoa的静态缓冲区问题)。帮助开发者规避网络数据传输中的字节序与格式错误。
2025-10-10 17:01:27
744
原创 C 语言实现 UDP 多线程双向通信:发送与接收并行处理
本文介绍了一个基于C语言和pthread多线程库的UDP双向通信程序实现。该程序通过创建独立的发送和接收线程,解决了单线程UDP通信中的阻塞问题,支持并行处理用户输入和数据接收。文章详细说明了程序的核心功能设计、代码实现(包括套接字创建、地址绑定、数据收发等关键步骤)、多线程管理和UDP协议相关知识点,并提供了编译运行方法和常见问题解决方案。该实现可作为网络编程和多线程开发的入门案例,具有可扩展性,可根据需求添加更多实用功能。
2025-10-10 16:46:48
2019
原创 基于文件的 Linux 进程间通信聊天程序实现
include <stdio.h> // 标准输入输出(printf/fgets)#include <unistd.h> // 系统调用(usleep/close)#include <fcntl.h> // 文件操作(open/O_RDONLY)#include <sys/file.h> // 文件锁(flock/LOCK_SH)#include <time.h> // 时间处理(time/ctime)#include <string.h> // 字符串操作(strcmp/snprintf)
2025-09-26 19:22:05
2100
原创 【嵌入式实战】基于 LVGL 的医疗排队管理系统开发
本文介绍了一个基于C语言和LVGL图形库开发的嵌入式医疗排队管理系统,专为小型医疗机构设计。该系统解决了传统纸质排队效率低、易出错的问题,通过数字化管理提升效率。系统采用轻量化技术栈(C语言+LVGL),最低仅需64KB内存,包含三大模块:UI可视化模块(支持50条数据分页显示)、数据处理模块(实现文件IO操作)和交互控制模块(实时刷新)。核心功能包括患者信息管理、虚拟键盘输入、数据自动同步等,使医护操作时间从5分钟缩短至30秒内,并具备72小时稳定运行能力。文章分享了关键代码实现思路,特别是LVGL控件的
2025-09-22 14:21:10
655
原创 文件IO之标准IO
本文详细介绍了标准I/O与系统I/O的区别,以及文件操作的核心方法。标准I/O(如fopen、fclose等)由C库提供,具有缓冲机制,性能更高且可移植性好;系统I/O(如open、read等)由操作系统直接提供,无缓冲但控制更精细。文章还讲解了文件的打开、关闭、位置获取与设置,并提供了多种读写操作的示例代码,包括按字节读写、按行读写、格式化读写和按数据块读写,帮助开发者理解不同场景下的文件操作技术。
2025-09-03 10:22:40
775
原创 Linux文件IO的说明
不管背后是真正的文件,还是复杂的硬件,软件都用“打开文件 -> 读/写文件 -> 关闭文件”这同一套简单的方法来操作,大大降低了写程序的难度。它本身很小,不存实际内容,只是一个“路标”或者“传送门”,你双击它,系统就会自动跳转到真正的那个文件那里去。它自己本身不存你的论文或电影,它的作用是记录这个“文件夹”里都包含了哪些“普通文件”和其他的“小文件夹”,以及它们放在哪儿。:字符设备在应用层的访问接口(以字符为单位,跟系统进行数据交换的设备,比如:键盘、鼠标、触摸屏等) --- 系统IO、设备操作。
2025-08-27 21:00:50
695
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅