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