自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 TCP文件传输黏包

黏包有两种: 一种是因为发送数据包时,每次发送的包小,因为系统进行优化算法,就将两次的包放在一起发送,减少了资源的重复占用。多次发送会经历多次网络延迟,一起发送会减少网络延迟的次数。因此在发送小数据时会将两次数据一起发送,而客户端接收时,则会一并接收。#即出现多次send会出现黏包 第二种是因为接收数据时,又多次接收,第一次接收的数据量小,导致数据还没接收完,就停下了,剩余的数据会缓存在内存中...

2019-09-15 14:59:56 209

原创 select、poll、epoll之间的区别

1、支持一个进程所能打开的最大连接数 select 单个进程所能打开的最大连接数有FD_SETSIZE宏定义,其大小是32个整数的大小(在32位的机器上,大小就是3232,同理64位机器上FD_SETSIZE为3264),当然我们可以对进行修改,然后重新编译内核,但是性能可能会受到影响,这需要进一步的测试。 poll poll本质上和select没有区别,但是它没有最大连接数的限制,原因是...

2019-09-14 10:29:41 155

原创 区块链

区块链 一、简介 概述 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用 模式。 区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库, 同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中 包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区 块。 含义 狭...

2019-09-04 23:56:40 165

原创 Makefile简介

Makefile 是和 make 命令一起配合使用的. 很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, 那很多项目中各种库和代码之间的依赖关系不知会多复杂. Makefile的组织流程的能力如此之强, 不仅可以用来编译项目, 还可以用来组织我们平时的一些日常操作. 这个需要大家发挥自己的想象力. 1.1 Makefile 主要的 5个部分 (显示规则,...

2019-09-02 23:10:47 98

原创 QT信号槽connect函数

使用QT开发时,通常使用connect函数只传递四个参数: connect(Sender,SIGNAL(signal),Receiver,SLOT(slot)); 所以我们有可能认为该函数就只有四个参数,但实际上是有第五个参数的,只是通常该函数已经给第五个参数赋值了而已,我们所使用的是默认值 sender和receiver是QObject对象指针,函数里面我们用到了Qt提供的两个宏SIGNA...

2019-08-22 11:24:46 277

原创 Linux下基于C语言的即时通讯软件

1、基本功能 登录、注册、私聊、群聊、注册vip、禁言、踢人、发送表情、发送短语、查询聊天记录、文件传输。 2、相关知识点 C/S架构 TCP、sqlite3、socket、基本文件操作 Makefile工程管理器进行项目工程管理, 用户界面友好美观动态显示 3、基本思想 三次握手、四次挥手 ...

2019-08-21 00:22:02 717

转载 线程池

在Unix网络编程中,线程与进程用于处理各项分支子功能,我们通常的操作是:接收消息 ==> 消息分类 ==> 线程创建 ==> 传递消息到子线程 ==> 线程分离 ==> 在子线程中执行任务 ==> 任务结束退出; 对大多数小型局域网的通信来说,上述方法足够满足需求;但当我们的通信范围扩大到广域网或大型局域网通信中时,我们将面临大量消息频繁请求服务器;在这种情...

2019-08-20 21:59:01 67

原创 8.18 epoll总结

1、epoll用到的3个API以及头文件 #include <sys/epoll.h> int epoll_create(int size); int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event); int epoll_wait(int epfd, struct epoll_event * events,...

2019-08-18 20:10:15 93

原创 8.17 连接池总结

连接池用于创建和管理数据库连接的缓冲池技术,缓冲池中的连接可以被任何需要他们的线程使用。当一个线程需要用JDBC对一个数据库操作时,将从池中请求一个连接。当这个连接使用完毕后,将返回到连接池中,等待为其他的线程服务。连接池的主要优点有以下三个方面。 第一、减少连接创建时间。连接池中的连接是已准备好的、可重复使用的,获取后可以直接访问数据库,因此减少了连接创建的次数和时间。 第二、...

2019-08-17 20:34:58 85

转载 8.15学习总结

Linux平台下线程池的原理及实现 什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。 下面是Linux系统下用C语言创建的一个线程池。线程池会维护一个任务链表(每个CThread_worker...

2019-08-16 00:54:29 79

原创 8.12学习总结

1、fflush()函数:更新缓冲区 头文件:#include<stdio.h> 定义函数:int fflush(FILE * stream); 函数说明:fflush()会强迫将缓冲区内的数据写回参数stream指定的文件中,如果参数stream为NULL,fflush()会将所有打开的文件数据更新。 返回值:成功返回0,失败返回EOF,错误代码存于errno中。 fflush(...

2019-08-13 09:31:02 132

原创 学习日志 姓名:王鹏 日期:2018.9.23

        今日学习任务   了解掌握5个系统安全相关命令 今日任务完成情况   (详细说明本日任务是否按计划完成,开发的代码量) 在VM虚拟机中尝试运用passwd、su、umask、chgrp、chmod 今日开发中出...

2018-09-27 20:21:20 96

原创 学习日志 姓名:王鹏 日期:2018.9.22

          今日学习任务   了解掌握5个系统管理相关命令 今日任务完成情况   (详细说明本日任务是否按计划完成,开发的代码量) 在VM虚拟机中尝试运用df、top、free、quota、at 今日开发中出现的问题...

2018-09-27 17:24:40 93

原创 学习日志 姓名:王鹏 日期:2018.9.21

            今日学习任务   掌握5个文件处理命令 今日任务完成情况   (详细说明本日任务是否按计划完成,开发的代码量) 学习了file、mkdir、grep、dd、find 今日开发中出现的问题汇总 ...

2018-09-27 16:50:42 190

原创 stm32单片机学习日志 王鹏 2018.07.27

今日学习任务 用四个按键连接到EXTI上用于产生中断控制四个LED灯的亮灭。   今日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量。)     采用exit中断实现四个按键同一优先级控制LED灯。 基本要求与内容都实现,并且可以通过串口发送,且可以实现LED流水灯等形式。...

2018-07-27 21:41:58 153

原创 stm32单片机学习日志 王鹏 2018.07.26

今日学习任务 Stm32SysTick中断、NVIC中断、printf串口程序以及exit中断。   今日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量。)   理解了SysTick中断、NVIC中断、printf串口程序以及exit中断的原理及基本内容。USART串口实现接受功能Exit...

2018-07-26 21:31:46 164

原创 stm32单片机学习日 王鹏 2018.07.25

今日学习任务 Stm32固件库编程及GPIO、RRC时钟、systick定时器知识的了解。   今日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量。)   学会使用固件库编程实现LED灯的点亮和闪烁。RRC系统时钟的设置及原理。定时器程序。   今日开发中遇到的...

2018-07-25 21:23:24 101

原创 stm32学习日志 王鹏 2018.07.24

今日学习任务 Stm32编成点亮四个灯并实现流水灯。   今日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量。)   能够编程实现四个灯的点亮。 能够编成实现流水灯程序。   今日开发中遇到的问题汇总 报错无法找到bsp.o文件。 ...

2018-07-24 21:25:13 156

原创 stm学习日志 王鹏 2018.07.23

今日学习任务 Stm32基本理论知识及安装环境的了解。   今日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量。)   stm32基本理论知识的了解。 运行环境的安装。 用寄存器点亮一个灯。 写一个固件库模板。 今日开发中遇到的问题汇总 ...

2018-07-23 21:40:47 112

原创 单片机学习日志 王鹏 2018.07.19

今日学习任务 中断及定时器工作原理。   今日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量。)   外部中断的原理及应用。 定时器中断的原理及应用。 中断优先级。 今日开发中遇到的问题汇总 六个二极管动态点亮最后两个始终无法点亮。...

2018-07-19 21:42:20 118

原创 单片机学习日志 王鹏 2018.07.18

今日学习任务 单片机数码管的使用及实现计算器的操作。   今日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量。)   根据老师编写的代码为基础,已经实现部分功能。 今日开发中遇到的问题汇总 当数字位数变多时,数码管显示不正常。 ...

2018-07-18 20:21:22 118

原创 单片机学习日志 王鹏 2018.01.17

  今日学习任务 用矩阵按键控制LED灯按二进制形式点亮设计。   今日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量。)   有些地方完成的还不是特别好,比如总是会有其他的地方不按照设想的样子点亮。 今日开发中遇到的问题汇总 不能将数字按键和确...

2018-07-17 20:52:24 115

原创 单片机学习日志 王鹏 2018.07.16

今日学习任务 单片机概念原理介绍及仿真软件的使用   今日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量。)   1、仿真环境操作流程。 2、单片机仿真原理。 3、LED灯原理介绍及点亮仿真。 4、蜂鸣器原理介绍及仿真。 5、独立按键与矩阵按键。  ...

2018-07-16 21:58:41 179

原创 作业2 字符串训练 王鹏 2018.07.15

请编写一个c语言函数,该函数将一个字符串逆序。#include&lt;stdio.h&gt; #define SIZE 5 int main(){    char str[SIZE];int i;    printf("请输入一个字符串:\n");scanf("%s",str); printf("逆序字符串:\n");    for(i=SIZE-1;i&gt;=0;i--){printf("%c...

2018-07-15 21:04:09 126

原创 作业1 王鹏 2018.07.14

1.   题目:通过编程实现,统计1~n有多少个9 提示:n通过参数传入#include &lt;stdio.h&gt;int main(){ int n,b;    int a;    int i;    int sum = 0;  printf("please input n :\n");      //提示输入n scanf("%d",&amp;n); for(i = 1; i &lt;= ...

2018-07-14 21:27:41 217

原创 学习日志 姓名: 王鹏 日期: 2017.07.13

今日学习任务结构体、结构体和链表、内存管理、关键字union、enum、typedef等。 今日任务完成情况(详细说明本日任务是否按计划完成,开发的代码量。) 1、结构体概念的介绍、结构体的定义,以及使用头文件中结构体的方法。2、结构体的声明、结构体变量、指针数组的定义及初始化。3、结构体的内存分配及长度的计算。4、c语言中的内存管理。5、共用体的声明及其用法。今日开发中遇到的问题汇总1、结构体总...

2018-07-13 22:11:59 102

原创 学习日志 姓名: 王鹏 日期: 2017.07.12

今日学习任务指针与数组、指针与函数、指针的内存分配。 今日任务完成情况(详细说明本日任务是否按计划完成,开发的代码量。) 1、详细了解昨晚布置的字符串逆序输出程序作业。2、函数和指针的关系,包括函数指针及指针函数。3、指针数组与数组指针。4、main函数。今日开发中遇到的问题汇总1、指针函数的定义与正确调用实现。2、指针中的值传递与地址传递。今日未解决问题无今日开发收获1、函数指针变量定义的一般形...

2018-07-12 21:57:51 137

原创 学习日志 姓名: 王鹏 日期: 2018.07.11

今日学习任务指针、指针和变量、指针和数组、指针和字符串   今日任务完成情况(详细说明本日任务是否按计划完成,开发的代码量。) 1、基本掌握指针定义与运算2、基本掌握指针变量的使用步骤3、了解指针引用数组元素的方法4、理解字符数组与字符串的区别    今日开发中遇到的问题汇总1、 今日未解决问题1、   今日开发收获1、自我评价(是否规范完成指定任务,需要改进的地方,与他人合作等。)指针比较难,还...

2018-07-11 22:48:33 104

原创 学习日志 姓名: 王鹏 日期: 2018.07.10

今日学习任务数组与函数   今日任务完成情况(详细说明本日任务是否按计划完成,开发的代码量。) 1、了解一维数组与二维数组的概念2、局部变量与全局变量的定义3、形参与实参的使用4、如何构造函数5、如何调用函数    今日开发中遇到的问题汇总1、传值部分,没有注意到值传递和地址传递2、 今日未解决问题   今日开发收获1、自我评价(是否规范完成指定任务,需要改进的地方,与他人合作等。)       ...

2018-07-10 22:49:26 98

原创 学习日志 姓名: 王鹏 日期: 2018.07.09

今日学习任务c语言基础知识的学习,包括:基本数据类型,算术运算符、循环语句、及break、continue语句。   今日任务完成情况(详细说明本日任务是否按计划完成,开发的代码量。) 1、学习了c语言中的三种数据类型。2、掌握了关键字sizeof以及库函数strlen的用法。3、学习了数据的基本运算规则。4、学会使用break、continue语句。5、完成了老师布置的作业。    今日开发中遇...

2018-07-09 22:46:51 137

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除