Loading

上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 19 下一页
摘要: 一、宏定义 几个特殊的宏 C语言规定了几个特殊的宏:__FILE__ 、 __LINE__ 、 __func__。 macro.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h> int 阅读全文
posted @ 2023-06-16 14:19 eiSouthBoy 阅读(82) 评论(0) 推荐(0)
摘要: 一、问题引入 程序是由许多个函数组成的,而编写一个好的、安全的函数是很重要的。 随笔通过引用 #include <stdio.h> 库中的两个函数来分析:sprintf() 和 snprintf(),为什么一个好的、安全的函数的那么的重要? 二、解决过程 sprintf函数例子 #include < 阅读全文
posted @ 2023-06-07 15:18 eiSouthBoy 阅读(1198) 评论(0) 推荐(0)
摘要: ## 一、问题引入 通过 **Tinyhttpd:运行测试【1】 和 抓包分析【2】**,基本完成了对程序的功能测试和通信原理。此时可以进一步对源码进行分析,本文不考虑代码一行一行的分析,仅对关键部分代码解析。 ## 二、解决过程 ### 2-1 main()函数 主函数主要创建http的监听套接字 阅读全文
posted @ 2023-06-06 11:35 eiSouthBoy 阅读(92) 评论(0) 推荐(0)
摘要: ## 一、问题引入 **UNIX网络编程 卷1:套接字联网API(第三版)** 第6章 介绍了I/O复用可以通过select()的单进程服务器与多客户端通信。 UNIX下可用的5中I/O模型: - 阻塞式I/O - 非阻塞式I/O - **I/O复用(select和poll)** - 信号驱动式I/ 阅读全文
posted @ 2023-05-26 11:20 eiSouthBoy 阅读(164) 评论(0) 推荐(0)
摘要: ## 一、分页查询 ❓ 需求描述:客户端查询数据库数据并显示在表格中。在数据库中进行一次查询,查询结果有1050条记录,但表格单页可显示行上限: 100,这时需要给本次查询记录分配 `?` 页用来显示? 可以通过固定公式进行计算(c伪代码): ```c #define TABLE_SHOW_ROW 阅读全文
posted @ 2023-05-25 14:07 eiSouthBoy 阅读(406) 评论(0) 推荐(0)
摘要: ## 一、问题引入 [UNIX网络编程:socket & fork()多进程 实现clients/server通信]() 随笔介绍了通过fork()多进程实现了服务器与多客户端通信。但除了多进程能实现之外,多线程也是一种实现方式。 重要的是,多进程和多线程是涉及操作系统层次。随笔不仅要利用pthre 阅读全文
posted @ 2023-05-19 10:05 eiSouthBoy 阅读(329) 评论(0) 推荐(0)
摘要: ## 一、问题引入 [UNIX网络编程:socket实现client/server通信](https://i.cnblogs.com/posts/edit;postId=17356425) 随笔简单介绍了TCP Server服务单客户端的socket通信,但是并未涉及多客户端通信。 对于网络编程肯定 阅读全文
posted @ 2023-05-16 17:21 eiSouthBoy 阅读(371) 评论(0) 推荐(0)
摘要: ## 一、问题引入 阅读**UNIX网络编程 卷1:套接字联网API 第3版**的前4个章节,觉得有必要对书籍上的源码案例进行复现,并推敲TCP的C/S通信过程。 ## 二、解决过程 ### 2-1 server 代码 ```c #include #include #include #include 阅读全文
posted @ 2023-05-11 11:30 eiSouthBoy 阅读(303) 评论(0) 推荐(1)
摘要: ## 一、问题引入 分析http就离不开报文,或者可以利用 **wireshark** 抓包解析报文。 ## 二、解决过程 http协议基于 **tcp/ip** 之上的应用层。 - **tcp三次握手** ![](https://img2023.cnblogs.com/blog/2823710/2 阅读全文
posted @ 2023-05-04 15:48 eiSouthBoy 阅读(56) 评论(0) 推荐(0)
摘要: ## 一、问题引入 想分析http开源程序 **Tinyhttpd** ,首先应复现http server 和 client 之间的请求和相应 开源仓库地址:`https://github.com/EZLippi/Tinyhttpd.git` ## 二、解决过程 - **git 项目** ``` g 阅读全文
posted @ 2023-04-26 17:51 eiSouthBoy 阅读(152) 评论(0) 推荐(0)
摘要: 一、问题引入 在处理文件过程中,一般流程是:open file --> read file to buffer --> parse buffer --> close file 文件处理单元是一行,故需要将 buffer 内容按行解析,本文就是说明这个问题。 二、解决过程 #include <stdi 阅读全文
posted @ 2023-04-26 10:41 eiSouthBoy 阅读(82) 评论(0) 推荐(0)
摘要: 一、问题引入 编写了一个C程序,编译报错,故面板栏的出现错误提示。想着直接删除源文件,错误提示就没有了,但实际并不是,它还在这。 那么如何将这个错误提示弄没呢? 二、解决过程 于是又创建了和之前同名源文件,并编程简单无问题的 printf("hello world\n"); 代码,然后编译运行,这时 阅读全文
posted @ 2023-04-26 10:41 eiSouthBoy 阅读(131) 评论(0) 推荐(0)
摘要: 一、问题引入 一般重装系统都是通过PE系统工具,但是大部分PE系统工具会夹带广告和垃圾软件。这时需要一个官方引导安装Windows10的介质,本文简单介绍官方安装介质的使用。 二、解决过程 💡 注意先将U盘格式化,U盘格式为exFAT 下载官网安装介质软件MediaCreationTool22H2 阅读全文
posted @ 2023-04-23 17:04 eiSouthBoy 阅读(126) 评论(0) 推荐(0)
摘要: 一、问题引入 MQTT属于应用层协议,基于 TCP/IP 架构实现,那么它的报文是如何定义的呢? 或许可以像分析 http协议 那样,利用抓包工具:wireshark 分析报文。 二、解决过程 📌 注意:wireshark版本为 Wireshark-win64-4.0.5,若版本过低,无法解析应用 阅读全文
posted @ 2023-04-21 12:00 eiSouthBoy 阅读(543) 评论(0) 推荐(0)
摘要: 一、问题引入 在C++的中新增一个特性:按引用传递变量,虽然与按传递变量的地址可以实现相同的结果,但引用有其独特的地方。 引用传递: 引用经常被用作函数参数,使得函数中的变量名成为调用程序中的变量的别名。 通过引用变量用作参数,函数将使用原始数据,而不是其副本。 二、解决过程 举例说明: #incl 阅读全文
posted @ 2023-04-14 12:12 eiSouthBoy 阅读(258) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 19 下一页