- 博客(209)
- 资源 (13)
- 收藏
- 关注
原创 Ubuntu之源码编译安装nginx
输入: ./nginx,运行nginx后,输入ps aux | grep 'nginx',可以看到已经有nginx进程。3.运行配置命令:(--prefix指定make install 后的目录,也就是nginx生成目录)5.运行make install 安装命令: make install。在浏览器中输入http://127.0.0.1/进入sbin目录,就是生成的nginx文件。sed后面的路径那里就是编译出来的目录。4.运行make命令: make。
2024-09-04 11:08:40 714
转载 nginx添加cjson库文件编译
如果是用vs工程编译nginx源码,则直接将csjon的.c和.h文件找个源码目录放进去,然后添加到工程,即可编译通过。如果是使用命令行编译方式,则将.c和.h放到src/core目录下,然后再在auto/source中增加。.h,cJSON.c的路径,即可编译通过。
2024-08-21 15:50:07 39
转载 使用cJSON库解析JSON字符串
(1) 首先调用cJSON_Parse()函数,解析JSON数据包,并按照cJSON结构体的结构序列化整个数据包。(2)调用cJSON_GetObjectItem()函数,可从cJSON结构体中查找某个子节点名称(键名称),如果查找成功可把该子节点序列化到cJSON结构体中。(3) 如果需要使用cJSON结构体中的内容,可通过cJSON结构体中的valueint和valuestring取出有价值的内容(即键的值)//通过cJSON_Delete(),释放cJSON_Parse()分配出来的内存空间。
2024-08-13 19:27:57 131
转载 如何在 Visual Studio 编译调试 Windows 版本的 Nginx 源码?
转自:如何在 Visual Studio 编译调试 Windows 版本的 Nginx 源码?_vs 编译 nginx-CSDN博客
2024-08-09 09:41:50 36
转载 Nginx:subrequest的使用方式
首先调用ngx_http_subrequest方法建立subrequest子请求,在ngx_http_mytest_handler返回后,mytest_post_handler是父请求重新激活后的回调方法,它对应于ngx_http_event_handler_pt指针。Nginx在子请求正常或者异常结束时,都会调用ngx_http_post_subrequest_pt回调方法,它的定义如下。175 //ngx_http_post_subrequest_t结构体会决定子请求的回调方法。
2024-08-05 17:11:16 45
转载 Nginx: handler 模块的实现
转自:https://zhuanlan.zhihu.com/p/585898977Nginx 内部结构是由核心部分和一系列功能模块所组成的,每个模块的功能相对简单,便于开发,同时也便于对系统进行功能扩展。Nginx 将各功能模块组织成一条链,当有请求到达的时候,请求依次经过这条链上的部分或者全部模块,进行处理。每个模块实现特定的功能。handler 模块就是接受来自客户端的请求并产生输出的模块,例如 ngx_http_static_module 模块,负责客户端的静态页面请求处理并将对应的磁盘文件准备为响应
2024-07-30 17:54:17 27
转载 【Nginx】开发一个HTTP过滤模块
当HTTP模块调用ngx_http_send_header发送头部时,就从ngx_http_top_header_filter指向的模块開始遍历全部的HTTP头部过滤模块并处理;我们使用预设的配置项解析函数ngx_conf_set_flag_slot解析配置项myfilter,将解析出的配置项參数存入结构体ngx_http_myfilter_conf_t的enable成员中。
2024-07-30 10:57:00 21
原创 关于新版QtCreator阅读代码时候耗用cpu达到100%问题解决
近日在使用新版本的QtCreator(Qt6.72, QtCreator13.02)阅读源码的时候,发现QtCreator cpu占用率时不时冲到100%,造成电脑超级卡,以为是新版QtCreator的bug,换回比较旧的版本(QtCreator10.0.2)发现也存在该问题。而且这个选项还有个奇葩的地方,你写的一行代码长一点了,他会自动给你分行显示,造成原本加个打印,还给你分个4,5行,搞得代码行数奇多,影响阅读。还有个东西就是本也得最后一项Clangd,查看资源管理器,就是这个东西一直在耗cpu。
2024-07-19 11:56:01 386
原创 ngnix添加自定义模块
使用msys生成makefile文件时候,configure编译命令需要添加如下语句:(即将自定义模块的目录加进来)参考如下的 示例: hello handler 模块 部分,重新生成ngnix.exe文件。
2024-07-18 15:20:23 923
转载 HTTP 协议详解(史上最全)
如果没有 Cookie,直接将要存储的数据保存在客户端浏览器所在的主机的硬盘上,那么就会出现很大的安全风险,比如当你不小心打开某个不安全的网站,该网站就可以在你的硬盘上写一个病毒程序,那么你的电脑就挂了!假设我用 bing 浏览器搜索蛋糕,会发现有的搜索结果带有广告字眼,这就相当于广告主在 bing 浏览器用来引流的,当该网站的点击次数越多,用户的成交量也就会上升,金主给浏览器的广告费也就增多。如果最终我们只需要付一件产品的钱,就是幂等的,如果要支付N件产品的钱,就不是幂等的。
2024-07-17 09:42:16 5008
原创 Nginx源码windows下编译
4.将pcre-8.45.tar.gz、zlib-1.3.1.tar.gz、openssl-3.3.1.tar.gz解压到lib目录下,可以直接手动解压到该目录。打开nginx根目录下的auto/cc/msvc,发现没有写NGX_MSVC_VER版本号,因我的是vs2019,所以写上19.20。根据你自己的实际vs版本号填写,只有填写成功,后面nmake才能编译成功。3.在nginx源码根目录下创建objs文件夹,再在objs下创建lib。此时objs目录下已经生成了nginx.exe,说明已经编译成功。
2024-07-12 09:13:36 1024
转载 UDP报文头部分析
数据发送是发送到物理链路层的,从应用层开始,经过一层层的数据报文的封装,最终封装成以太网封装格式 和 802.x 封装格式的数据包,通过有线网络或无线网络在以太网上传输数据帧(bit流)。标明UDP头部和UDP数据的总长度字节,UDP首部的长度为固定的8个字节,加上UDP数据长度就是长度大小,UDP数据长度可以通过wireshark抓包看到。实时游戏:游戏的特点也是实时性比较高,在这种情况下,采用自定义的可靠的 UDP 协议,自定义重传策略,能够把产生的延迟降到最低,减少网络问题对游戏造成的影响。
2023-08-08 15:22:51 1439
转载 TCP 协议头全解
首部 Header Length 4 位,表示 TCP 报文段首部长度,看了下有的地方也叫它数据偏移,可以理解为 TCP 报文起始位置 到 数据部分 payload 的起始位置 也就是上图中 [源端口号 , 选项, 填充 ] 这部分数据的大小,4 位 0000 最大为 1111 = 15 ,这里每个数代表 4 byte,所以首部最大是 15 * 4 byte = 60 byte。发送方会将紧急数据插入到本次报文段的最前面,而后面的仍然是普通数据,紧急指针指示的是紧急数据的末尾在本段报文数据的位置。
2023-08-08 14:21:33 938
转载 QT6源码编译全过程
截至笔者编写此篇博客的时候,QT6系列已经发布了6.2.3版本,笔者也是于近期亲身编译了QT6.2.2的源码,开始着手熟悉体验新版本的QT了哦!顺便将笔者的编译过程整理记录下来,跟大家进行分享、交流。QT作为一个跨平台的界面开发平台,经过了历史长河的洗礼以及一代代Qt开发者的不断努力,其意义已经远远高于开发界面。1、解压Qt6.2.2源码,启动VS2019的64位命令行并切换至Qt6.2.2源码目录。(1)Visual Studio2019(笔者使用的企业版)(6)QT6.2.2源码 点击下载。
2023-07-09 13:11:34 1993
转载 Source Insight 4.0 序列号 license文件
用16进制编辑器(sublime text)打开sourceinsight4.exe文件,找到c800 0000 742a 83bc 2408 这一段,修改74 为 eb。原文链接:https://blog.csdn.net/lxj170/article/details/94554818。注意:过一段时间提示过期后,把Date="2019-10-24 00:00:00",改成前一天的,又能继续使用。链接: https://pan.baidu.com/s/1xyprwNSXLpj7kpDa7LaF_Q。
2023-06-26 17:44:05 11656
转载 source insight的使用方法逆天整理(1)
新建工程之后是add and remove files这个窗口,一般add tree就把文件夹里的所有文件都加载进这个工程了。那么Load完成之后呢?close对话框就可以了啊。close之前有个神奇的地方向大家介绍下——SI可以加不同路径的代码进入你的工程,嘿嘿嘿。。。完成之后,就出现在右边了,点击其中任意一个文件,内容就显示在中央编辑区域了。左边是,可以快速定位函数、变量定义等。下面是,显示有用的上下文相关信息。可以通过View菜单调出或者关闭各种窗口。比如可以显示出方法中调用的方法。
2023-06-26 17:41:31 2264
转载 这样读源码,不牛X也难
不同的目的会有不同的心情,会影响到工作的进展,像修复他人的Bug这种事情,类似于没被掰弯的男猿捏着鼻子给另外一个男人擦屁股,是很恶心的,很容易让人拒绝的。其他的目的,重构旧代码、添加新功能,比帮别人擦沟子(陕西话,屁股)略强,因为他带有创造性,创造性的活动能给人带来强烈的愉悦,所以虽然这两种目的也有很多让人不爽的部分,不过想到我可以让一棵老树焕发青春,不爽也就慢慢弱下去了。我有这样的体会,因为代码不是自己写的,很难很快在脑子里刻下印记,经常是看着这里忘了那里,早上觉得弄懂了数据流向,中午吃个饭就忘了。
2023-06-26 17:15:23 83
原创 QFtp解决 使用了未定义类型“QFtpPrivate”的方法
用vs编译器时,由于有些类的声明放在了qftp.cpp里面,并且这些类是从qobject继承下来,需要用到信号槽的,也即是说,这些类必须经过moc工具编译的。因此在qt5版本中,用vs编译,如果这些需要经过moc工具编译的类在cpp文件中声明,moc工具会查找不到,无法在moc.cpp中为该类生成对应的类,故要将这些类的声明,统统挪到.h中,然后把.cpp文件末的导入moc头文件给注释掉,即可。
2023-06-09 11:56:47 678 1
转载 Linux下串口信息的读取
在Linux下串口信息的读取有了一点心得体会。 1. 打开串口 与其他的关于设备编程的方法一样,在Linux下,操作、控制串口也是通过操作起设备文件进行的。在Linux下,串口的设备文件是/dev/ttyS0或/dev/ttyS1等。因此要读写串口,我们首先要打开串口: char *dev = "/dev/ttyS0"; //串口1 int fd = open( dev, O_RDWR ); //| O_NOCTTY | O_NDELAY if (-1 == fd) { pe
2023-01-30 14:36:02 4910
转载 实时传输协议(RTP)
转自:https://blog.csdn.net/chuanmengfang2285/article/details/101059880RTP在RFC1889中规定,正式名称是“RTP,一个用于实时应用的传输协议”。这个RFC实际上描述了两个协议:实时传输协议(RTP)和实时传输控制协议(RTCP)。这两个协议提供了可以支持实时应用(例如语音和影像)的网络传输服务。UDP无法做到避免分组丢失和确保分组有序传输,运行在UDP之上的RTP帮助实现了这些功能。例如,RTP分组包括序列号,这样,使用RTP的应用程序
2022-08-11 15:24:38 2271
转载 如何发送和接收RTP包,用FFmpeg分离、解码
RTP是网络上进行流媒体传输的一种常用协议,现在有很多封装RTP协议的开源库,比如:ortp, jrtplib,而其中最有名的要数jrtplib,本文给大家演示怎么用jrtplib开发一个带RTP发送和接收功能的应用程序,但这篇文章不会讲述jrtplib的基本用法知识,如果你要了解更多关于这个库的用法,可以参考这篇文章:http://www.cnblogs.com/yuweifeng/p/7550737.html。这个流媒体播放器实现的功能比较简单,但是实现了一个典型的网络播放器的框架。...
2022-08-11 14:58:16 2481
原创 innosetup打包时将文件解压到指定目录的巧方法
innosetup打包时,需要将打包的部分文件解压到一个指定目录下,比如web前端开发好后,需要将web的相关文件放到tomcat安装的目录下,使用innosetup脚本命令指定目录比较麻烦,这个时候可以写一个windows脚本命令,将相关文件夹下所有内容复制到指定目录下:参考:windows 使用bat脚本文件,复制文件夹到另一个盘_你好邱林和的专栏-CSDN博客_bat 复制文件夹新建一个copy.bat文件,往里面写入命令,@echo offxcopy H:\ceshi\*.*..
2022-02-25 13:51:48 2284
转载 InnoSetup安装程序动态指定安装目录
转自:InnoSetup安装程序动态指定安装目录_linz1980_新浪博客InnoSetup 作为一个优秀的安装程序建造工具,拥有非常强大的功能!由于支持 pascal 脚本,功能方面更加自由.我相信并且也看到了,有非常多的 Delphi 程序员喜欢这个工具.因为 InnoSetup 本身就是 Delphi 的作品.由于我们小组的开发需要,今天我接触了这个工具.后来在"为安装程序动态指定安装目录"这个环节遇到了困难,但上 baidu 和 google 都找不到结果.现在我已经解决了这个问题,我
2022-02-25 10:33:11 2268
转载 Inno Setup制作安装程序
转自:Inno Setup制作安装程序 - 一文钱 - 博客园Inno Setup 是国外的一个打包工具,很小巧,功能很强大。Step 1我们可以用向导模式,先生成一个简单的脚本,如果觉得这样就够了,那么也可以了,呵呵。按着向导一步一步做#define MyAppName "我的程序"#define MyAppVersion "1.5"#define MyAppPublisher "我的公司"#define MyAppURL "http://www.example.com
2022-02-24 11:45:02 814
翻译 一文带你入门了解“零之禅“消息队列ZeroMQ
转自:一文带你入门了解“零之禅“消息队列ZeroMQ_董哥的黑板报-CSDN博客_zeromq一、ZeroMQ概述ZeroMQ(又名ØMQ,MQ,或zmq)看起来像一个可嵌入的网络库,但其作用就像一个并发框架。ZeroMQ类似于标准Berkeley套接字,其提供了各种传输工具,如进程内、进程间、TCP和组播中进行原子消息传送的套接字。你可以使用各种模式实现N对N的套接字连接,这些模式包括:扇出、发布-订阅、任务分配、请求-应答。ZeroMQ的速度足够快,因此可充当集群产品的结构。ZeroM
2022-02-23 17:17:33 475
转载 Inno setup中定制安装路径
转自:Inno setup中定制安装路径 - microsun - 博客园我的程序修改了安装界面,所以我的界面中提供了更改安装路径的方法。用户修改后的路径会被传回inno setup脚本,脚本中需要做的事情如下:1,写一个函数,来返回新的安装路径,如:function MyDestDir(SubDir:String):String;begin if SubDir = '' then Result := RootDestFolder else Result...
2022-02-23 13:57:10 3801
翻译 Pyinstller打包exe报错解决 win10下报Failed to execute script pyi_rth__tkinter解决
转自:Pyinstller打包exe报错解决_Coding_Ouch的博客-CSDN博客前言用python写了个自动化工具,为了方便没有python环境的同事使用,故准备将其打包成exe。由于本人使用的是虚拟环境,原来在默认的虚拟环境下没有pyinstaller,且写代码的电脑没有网络,因此只能本地安装包。安装之前的项目是python2.7,安装pyinstaller时,需要安装各种依赖库,如下:- altgraph- dis3- future- macholib- pefile-
2022-02-17 10:38:06 1721
转载 GNURadio安装和使用过程中遇到的问题和应对(包括使用pyinstaller打包成exe)
转自:https://blog.csdn.net/afadasdas/article/details/80218979文章目录GNU官方下载安装遇到的问题和应对GNURadio自带Python2.7库 使用相关PyCharm相关打包成 *.exe 各种报错结尾GNU官方下载GNURadio官方下载地址:[GNURadio 3.7.x Win64 Binaries - Download]gcndevelopment.com/gnuradio/downloads对应电脑系统:Window
2022-02-16 14:10:52 1298
转载 Py2exe打包时添加自定义库搜索目录
转自:https://blog.csdn.net/yfj300/article/details/48223297使用Py2exe打包Python工程时,常常Py2exe会搜索不到工程自定义库。一般工程设计中会按功能进行划分,Py2exe打包只对一入口文件,按其需要进行打包,然而在搜索import库时,仅使用系统PATH定义的路径进行搜索,一些分布在工程其它文件夹的库就有可能搜索不到。这是因为setup.py仅含有系统库路径,所以如果出现一些库找不到的情况,就需要手工添加那些找不到库的路径。如在入口文件
2022-02-14 16:21:08 215
nginx源码vs工程-自定义handler处理-创建子请求处理逻辑-filter过滤器中处理应答
2024-09-14
qftp源码可以被vs编译过
2023-06-09
thinkpad 黑将s5 win10开机刷脸 intel realsense 3D摄像头驱动。能正常刷脸开机
2018-03-10
自定义的QPushButton插件,可放到qt设计师使用v3.0
2017-05-17
自定义的QPushButton插件,可放到qt设计师使用v2.0
2017-05-15
自定义的QPushButton插件,可放到qt设计师使用
2017-05-12
轻量级日志模块,支持纯windows下日志打印或qt环境下日志打印
2016-12-16
qt编译出的db2和oracle数据库驱动(qt5.5.0+vs2013)
2016-11-22
记录日志到文件
2016-09-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人