- 博客(33)
- 收藏
- 关注
原创 Linux网络编程(十七)——Libevent框架
17 Libevent框架17.1 Libevent框架使用流程17.1.1 创建底座(event_base)17.1.2 创建事件(event_new)17.1.3 添加/删除/释放事件17.1.4 循环监听事件满足17.1.5 释放底座(event_base_free)17.1.6 一些其他相关函数17.1.7 综合案例17.2 未决和非未决17.3 带缓冲区的事件bufferevent17.3.1 bufferevent事件的原理17.3.2 带缓冲区事
2025-04-08 16:29:30
1087
原创 Linux网络编程(十六)——多线程服务器端的实现
16 多线程服务器端的实现16.1 理解线程的概念16.1.1 引入线程的背景16.1.2 线程和进程的差异16.2 线程创建及运行16.2.1 线程的创建和执行流程16.2.2 可在临界区内调用的函数16.2.3 工作(Worker)线程模型16.3 线程存在的问题和临界区16.3.1 多个线程同时访问同一变量的问题16.3.2 临界区位置16.4 线程同步16.4.1 同步的两面性16.4.2 互斥量(互斥锁)16.4.3 信号量16.5 线程
2025-04-08 16:19:37
701
原创 Linux网络编程(十五)——优于select的epoll
15 优于select的epoll15.1 epoll理解及应用15.1.1 基于select的I/O复用技术速度慢的原因15.1.2 select的优点15.1.3 实现epoll时必要的函数和结构体15.1.4 epoll_creat115.1.5 epoll_ctl15.1.6 epoll_wait15.1.7 基于epoll的回声服务器端15.2 条件触发和边缘触发15.2.1 条件触发和边缘触发的区别在于发生事件的时间点15.2.2 掌握条件触发的事件特
2025-04-07 10:39:49
758
原创 Linux网络编程(十四)——关于I/O流分离的其他内容
14 关于I/O流分离的其他内容14.1 分离I/O流14.1.1 2次I/O流分离14.1.2 分离 “流” 的好处14.1.3 “流”分离带来的EOF问题14.2 文件描述符的复制和半关闭14.2.1 终止“流”时无法半关闭的原因14.2.2 复制文件描述符14.2.3 复制文件描述符 dup&dup214.2.4 复制文件描述符后“流”的分离
2025-04-07 09:41:22
964
原创 Linux网络编程(十三)——套接字和标准I/O
13 标准I/O函数的有点13.1 标准I/O函数的优点13.1.1 标准I.O函数的两个优点13.1.2 标准I/O函数和系统函数之间的性能对比13.1.3 标准 I/O 函数的几个缺点13.2 使用标准I/O函数13.2.1 利用fdopen函数转换为FILE结构体指针13.2.2 利用fileno函数转换为文件描述符13.3 基于套接字的标准I/O函数使用
2025-04-02 11:53:50
968
原创 Linux网络编程(十二)——多播与广播
12 多播与广播12.1 多播12.1.1 多播的数据传输方式及流量方面的优点12.1.2 路由(Routing)和 TTL(Time to Live,生存时间)以及加入组的办法12.1.3 实现多播 Sender 和 Receiver12.2 广播12.2.1 广播的理解及实现方法
2025-04-02 10:41:13
608
原创 Linux网络编程(十一)——多种I/O函数
11 多种I/O函数11.1 send & recv 函数11.1.1 Linux 中的 send & recv11.1.2 MSG_OOB:发送紧急消息11.1.3 紧急模式工作原理11.1.4 检查输入缓冲11.2 readv & writev 函数11.2.1 使用 readv & writev 函数11.3.2 合理使用 readv & writev 函数
2025-03-28 09:45:46
551
原创 Linux网络编程(十)——I/O复用
10 I/O复用10.1 基于I/O复用的服务器端10.1.1 什么是复用10.1.2 复用技术在服务器端的应用10.2 理解 select 函数并实现服务端10.2.1 select 函数的功能和调用顺序10.2.2 设置文件描述符10.2.3 设置检查(监视)范围及超时10.2.4 调用select函数后查看结果10.2.5 select 函数调用示例10.2.6 实现I/O复用服务器端
2025-03-28 09:13:01
785
原创 Linux网络编程(九)——进程间通信
9 进程间通信9.1 进程间通信的概念9.1.1 通过匿名管道实现进程间通信9.1.2 通过管道进行进程间双向通信9.2 运用进程间通信9.2.1 保存消息的回声服务器
2025-03-27 09:36:32
403
原创 Linux网络编程(八)——多进程服务器端
8 多进程服务器端8.1 进程概念及应用8.1.1 并发服务器端实现方法8.1.2 理解进程8.1.3 进程ID8.1.4 通过调用fork函数创建进程8.2 进程和僵尸进程8.2.1 销毁僵尸进程1:利用wait函数8.2.2 销毁僵尸进程2:使用waitpid函数8.3 信号处理8.3.1 向操作系统求助8.3.2 信号与 signal 函数8.3.3 利用sigaction函数进行信号处理8.3.4 利用信号处理技术消灭僵尸进程8.3.5 通过f
2025-03-27 09:24:19
3204
1
原创 Linux网络编程(七)——套接字的多种可选项
文章目录7 套接字的多种可选项7.1 套接字可选项和I/O缓冲大小7.1.1 套接字多种可选项7.1.2 getsockopt & setsockopt7.1.3 SO_SNDBUF & SO_RCVBUF7.2 地址再分配 SO_REUSEADDR7.2.1 发生地址分配错误(Binding Error)7.2.2 Time-wait状态7.2.3 地址再分配7.3 TCP_NODELAY7.3.1 Nagle算法7.3.2 禁用Nagle算法
2025-03-26 10:01:30
746
原创 LInux 网络编程(六)——域名及网络地址
6 域名及网络地址6.1 域名系统6.1.1 什么是域名6.1.2 DNS服务器6.2 IP地址和域名之间的转换6.3 利用IP地址获取域名
2025-03-26 10:01:10
787
原创 Linux 网络编程(五)——如何优雅的断开套接字连接
调用 close 函数的会关闭 I/O 流,这样也会向对方发送 EOF ,但此时无法再接受对方传输的数据。例如,主机 A 发送完最后的数据后,调用 close 函数断开最后的连接,之后主机 A 无法再接受主机 B 传输的数据。最终,由主机 B 传输的、主机 A 必须要接受的数据也销毁了。我们假设这样一个场景:“一旦客户端连接到服务器端,服务器端将约定的文件传给客户端,客户端收到后发送字符串 “Thankyou' 给服务器端。其中一个主机的输入流与另一个主机的输出流相连,而输出流则与另一个主机的输入流相连。
2025-03-25 14:00:00
611
原创 Linux 网络编程(四)——基于UDP的服务器端/客户端
4 基于UDP的服务器端/客户端4.1 UDP套接字的特点4.2 UDP协议适用场景4.3 基于UDP数的I/O函数4.4 基于UDP的回声服务器端/客户端4.5 UDP的数据传输特性4.6 已连接UDP套接字与未连接UDP套接字(可略过)
2025-03-25 11:00:00
611
原创 Linux 网络编程(三)——基于TCP的服务器端/客户端
3 基于TCP的服务器端/客户端3.1 TCP 服务器端的默认函数调用顺序3.2 TCP客户端的默认函数调用顺序3.3 基于TCP的服务器端/客户端函数调用关系3.4 实现迭代服务器端/客户端3.5 回声客户端完美实现3.5.1 回声客户端问题解决方法3.5.2 如果问题不在回声客户端:定义应用层协议
2025-03-24 09:30:00
945
原创 Linux网络编程(一)—— 基于Linux的文件操作
介绍Linux网络编程中文件操作的基础知识,涵盖标准I/O库函数(如fopen、fputs)和系统I/O调用(如open、write),并提供了综合案例
2025-03-24 09:00:00
351
原创 Linux 网络编程(二)——套接字编程简介
2 Socket 套接字2.1 什么是 Socket2.2 Socket编程的基本操作2.3 地址信息的表示2.4 网络字节序和主机字节序的转换2.4.1 字节序转换2.4.2 网络地址初始化与分配2.5 INADDR_ANY2.6 Socket 编程相关函数2.7 C标准中的 main 函数声明2.8 套接字应用示例
2025-03-24 09:00:00
1078
原创 JavaScript学习笔记(三)
本篇文章主要记录了 JavaScript 的部分基础进阶内容,包括对象、内置对象(Math对象、Date对象、字符串对象、数组对象等)、简单类型与复杂类型的概念、相关代码、应用以及注意事项等
2022-10-10 22:48:03
261
原创 JavaScript学习笔记(二)
本篇文章主要记录了 JavaScript 的部分基础内容,包括函数、作用域、以及预解析的概念、相关代码、应用以及注意事项等
2022-10-05 06:00:00
177
原创 JavaScript学习笔记(一)
本篇文章主要记录了 JavaScript 的部分基础内容,包括变量、数据类型、运算符、流程控制、循环以及数组的相关代码、应用以及注意事项等。
2022-10-02 16:00:00
590
原创 CSS 学习笔记(二)
本篇文章主要记录了 CSS 的部分进阶内容,包括 CSS 的三大特性、盒子模型、圆角边框、盒子阴影、浮动以及定位的相关代码、应用以及注意事项等,目的主要是为了帮助自己记录学习,同时也把文章分享出来,供大家参考学习。
2022-09-24 06:00:00
4607
原创 CSS 学习笔记(一)
本篇文章主要记录了 CSS 的部分基础内容,包括 CSS 的基础选择器、字体属性、文本属性、复合选择器、显示模式以及背景的相关代码、应用以及注意事项等,目的主要是为了帮助自己记录学习,同时也把文章分享出来,供大家参考学习。
2022-09-15 13:00:00
366
原创 【语义分割】PSPNet
pyramid scene parsing network(PSPNet)模块能够聚合不同区域的上下文信息,从而提高获取全局信息的能力,此外,作者还提出了一种深度监督损失函数的优化策略(optimization strategy with deeply supervised loss)
2022-01-20 13:23:57
2480
原创 【语义分割】U-Net++
该论文提出了一种新的、更强大的医学图像分割体系结构U-Net + + 。其本质上是一个有着Encoding 和 Decoding 的深度监督网络,Encoding 和 Decoding 子网络通过一系列嵌套的、密集的跳跃路径连接。
2022-01-07 14:36:24
4635
1
原创 【语义分割】初识U-Net
U-Net可以说是当今时代下一个炙手可热的网络模型,作为分割领域的一种基础网络,其代表了一种高性能的基础网络设计架构,很多网络为了延续U-Net的核心思想,加入了新的模块或者融入其他设计理念设计而成。如今,当代的所有图像分割问题,人们都会尝试着用各种U-Net网络架构看看效果。
2022-01-01 14:23:49
3507
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人