2025年11月3日
摘要: windows 路由表详解 查看ip信息 字段说明 IPv4 Address: ipv4地址,用于标识网络中的主机 Subnet Mask: 子网掩码,分为 连续的1 和 连续的0 两部分, 可以简写为 /n, 例如 /24,表示高24位为1,剩下为0 连续的1: 表示网络ID,用于区分不同的网络 阅读全文
posted @ 2025-11-03 21:08 Dylaris 阅读(36) 评论(0) 推荐(0)
2025年6月26日
摘要: 概要 目的:提供一种用c实现泛型编程的思路 环境: 操作系统:wsl - ubuntu22.04 编译器:gcc 11.4.0 C标准:gnu11 (需要用到编译器扩展,并不一定要是GCC,也可以是其他编译器,提供对应的扩展即可) 什么是泛型编程 泛型编程,顾名思义,就是 泛化类型 的编程。 通俗点 阅读全文
posted @ 2025-06-26 23:39 Dylaris 阅读(73) 评论(0) 推荐(0)
2025年6月17日
摘要: 什么是IO复用 一种在单个线程中管理多个输入/输出通道的技术。它允许一个线程同时监听多个输入流(例如网络套接字、文件描述符等),并在有数据可读或可写时进行相应的处理,而不需要为每个通道创建一个独立的线程 使用多线程搭建服务端会造成大量的执行上下文切换开销,所以出现了单线程的IO复用技术 select 阅读全文
posted @ 2025-06-17 18:20 Dylaris 阅读(16) 评论(0) 推荐(0)
摘要: 理解UDP UDP套接字的特点 UDP提供的是不可靠的数据传输服务 UDP的 可靠性 不如TCP,但UDP在 结构 上会更加简洁,他不会发送类似ACK那样的应答消息,也不会像SEQ那样给数据包分配序号 UDP的性能通常会比TCP更好 为了提供可靠的数据传输服务,TCP在不可靠的IP层进行流控制,而U 阅读全文
posted @ 2025-06-17 16:34 Dylaris 阅读(59) 评论(0) 推荐(0)
摘要: TCP服务端的默认函数调用顺序 进入等待连接请求状态 服务器端套接字作为门卫受理连接请求,等候室就是 连接请求队列 受理客户端请求 服务器端通过调用 accept 接受连接请求,并创建一个 对等的socket 用来与客户端通信(面向连接的套接字是一一对应的),服务端套接字继续受理连接请求 TCP客户 阅读全文
posted @ 2025-06-17 15:39 Dylaris 阅读(80) 评论(0) 推荐(0)
摘要: 分配给套接字的IP地址和端口号 IP是为收发网络数据而分配个计算机的值,用来在网络中辨认主机 端口号是为区分程序中创建的套接字而分配个套接字的序号,用来在主机中辨认程序 网络地址 IPv4标准的4字节IP地址分为 网络地址 和 主机地址 “向网络传输数据”实际上是 向构成网络的路由器或交换机传递数据 阅读全文
posted @ 2025-06-17 11:25 Dylaris 阅读(29) 评论(0) 推荐(0)
摘要: 套接字协议及其数据传输特性 协议 协议是为了完成数据交换而定好的约定,是一种通信规则 创建套接字 协议族 AF_INET:IPv4互联网协议族 AF_INET6:IPv6互联网协议族 AF_LOCAL:本地通信的UNIX协议族 套接字类型 套接字类型指的是套接字的数据传输方式 面向连接的套接字(SO 阅读全文
posted @ 2025-06-17 10:38 Dylaris 阅读(12) 评论(0) 推荐(0)
2025年6月11日
摘要: 在学习c语言的过程中,我们被明确告知空指针是不能解引用的,会触发段错误,未定义行为,balabala 事实上这也没错,但是,有一个特殊的例子,请看下面这段程序 #include <stdio.h> typedef struct mystruct { char a; // 0 int b; // 4 阅读全文
posted @ 2025-06-11 17:00 Dylaris 阅读(106) 评论(0) 推荐(0)
2025年6月5日
摘要: 静态库 创建 $ ar options archive object-file 常用选项: r(替换): 将一个目标文件插入到归档文件中并取代同名的目标文件 创建一个归档文件 $ cc -c mod1.c mod2.c mod3.c $ ar r libdemo.a mod1.o mod2.o mo 阅读全文
posted @ 2025-06-05 17:25 Dylaris 阅读(12) 评论(0) 推荐(0)
摘要: 引用类型 引用是一个 别名,它使得你可以通过一个新的名字来 访问已经存在的变量 指针类型 指针是一个 变量,存储另一个变量的内存地址 说得挺玄乎的,让我们以c为例子,然后再过渡到c++ 下面这一段程序很简单,就是把一个变量传给一个函数,然后函数更新这个值 聪明的你肯定发现了问题所在,那就是我们用的是 阅读全文
posted @ 2025-06-05 11:14 Dylaris 阅读(24) 评论(0) 推荐(0)