自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

丁劲犇技术发布空间

技术无止境,踏实是正途。

  • 博客(337)
  • 资源 (5)
  • 问答 (2)
  • 收藏
  • 关注

原创 开源玩具总动员-本博客的知识关系图

作为一个非全职编程爱好者,基本是把计算机周边当做高档大玩具来玩的,顺便带着有兴趣的学生搞一搞学习。这篇文章作为全站的一个导航篇,把本博客的主干要点汇聚一下。

2024-03-06 20:56:19 1230 2

原创 热烈庆祝长三角师范院校智慧教学大赛圆满结束

第五届长三角师范院校教师智慧教学大赛于2023年12月19日顺利结束。安徽师范大学、淮北师范大学均获得一等奖。感谢所有参赛学校老师们的努力!我的母校从安徽师范大学淮北分校、淮北煤炭师范学院一路走来,朝气蓬勃,踏实耕耘,沉稳坚韧,祝愿学校越办越好。

2023-12-23 13:13:09 247

原创 自然语言模型的哲学小谈

近期,以chatGPT为代表的大语言模型表现非常惊艳。,以及推理能力,很难不让我们期待未来人工智能的发展,同时冷静思考一下为什么自然语言模型能够取得巨大进步。本文从科普的角度,探讨思维的形成,以及思维与自然语言之间的关系。

2023-04-22 20:26:18 1843 1

原创 从《三体》科技爆炸看50年来计算机的应用发展

作为一个老程序猿,没有完整看过《三体》原著一直以来是我的遗憾。最近刚因为《流浪地球》的原因,趁热打铁拜读了刘慈欣的原著,真的太震撼了。站在老程序猿的角度,这部鸿篇巨制真的大饱口福,回味无穷。老丁比刘慈欣先生小十几岁,是标准的75后,也是从78-80这段时间有了最初的记忆。对近50年来生活的变化,用作品里“科技爆炸”这个词形容再合适不过,能够亲自见证以计算机技术为代表的科技发展,是属于老程序猿的幸福。

2023-03-13 22:47:37 870

原创 小学阶段计算机编程启蒙闲谈

最近闲来和一位退休的小学老师聊天。他教数学,兼任信息学老师,便聊到小学阶段的计算机编程启蒙。聊的很有兴趣,也感慨科技的发展。1 第一代儿童编程启蒙改革开放之后,邓爷爷提出,计算机要从娃娃抓起。小学最早一批计算机教学,使用的是中华学习机,主要教学内容是计算机操作、打字以及简单的编程(LOGO、BASIC)。在教学实践中,由于缺少图形化的编程教学工具,教育工作者考虑到学生语文、数学,尤其是英语(笔.........

2020-01-30 21:52:58 5307 1

原创 浅谈普通大专院校的计算机基础教学注意事项

笔者陆续在普通大专、本科、职业技术院校从事计算机基础学科教学多年,对如何提高学生自身的主观能动性,做好计算机能力教学有很多思考与尝试。为师者的坚持我们几个教学一线的老师,基本坚持亲自动手做教学实验素材,并把并不充裕的研究金费用到刀刃上。指导学生学到东西的同时,更重要的是教学生尽快适应更高台阶的需求,让高考并不是很顺利的学子们,能够抓紧宝贵的3~4年机遇,学到真本领、成就自己。要么尽快适应职......

2018-06-13 22:12:02 1276 5

原创 基础软件国产化闲谈

现代软件是高度国际化的,在互联网上,传播、发布易如反掌。我们普通人更不会不去关心这些东东都是哪个国家的。事实上,很多时候真的说不清楚,开源项目有各个国家的团队参与,那么,为什么还要再扯国产化这个蛋疼的话题呢?笔者认为,软件国产化讲的是“基础软件国产化”,基础软件是孕育大师的舞台,基础软件和开源社区紧密绑定,基础软件改善行业环境。...

2016-08-29 20:55:00 9836 3

原创 穿越时空的纪念册

整理屋子,故纸堆中翻出了93年的电脑报合订本,偶有兴趣的翻看了一下,一不小心就荒废了一下午。跟随着编辑的脚步,脑海中记忆的门缓缓的开启了。 还记得SPDOS+WPS吗?我是93年在中学机房接触SPDOS 1.0 + WPS的,坐在长城单色显示器边,战战兢兢地输入“SPDOS”,"B:","WPS",“西山DOS”系统便启动了。当时特别喜欢GW-Basic, QB...

2012-07-04 00:10:10 5870 10

原创 站在 2026 年 10 月看如何驱动 AI 高效科研-以及人类最后的尊严

本文记录了AI独立研究的过程和思考。

2026-10-08 19:41:40 184

原创 引导AI实现全频域LoRa算法并用B210与晨为CW-4A8X模块实时远距离双向通信

本文基于LoRa调制原理,通过引导AI逐步实现全频域解调算法,成功驱动B210与CW-4A8X模块在-10dB载噪比下实现双向实时通信。作者采用启发式教学,让AI理解LoRa的Chirp扩频本质,推导出归一化离散波形公式,并生成各符号编码的IQ样本。结合Python与C++混合编程,最终实现高效、低噪环境下的稳定通信,验证了理论推导与工程落地的可行性。

2026-09-27 11:47:40 296

原创 Linux 共享内存入门:/dev/shm 里的“共用白板“

本文详解了进程间通信中的共享内存机制,以“共用白板”类比,对比传统数据传递方式的低效。重点介绍 Linux 下通过 /dev/shm 实现共享内存的三步操作:shm_open 开门、ftruncate 定大小、mmap 映射。结合生产者-消费者模型实例,展示如何利用共享内存与信号量实现高效同步。最后扩展至环形缓冲区设计,提升并发性能。代码示例清晰,强调资源清理与维护,确保系统稳定。

2026-09-19 08:57:23 393

原创 2台X310也能转-AI辅助改进taskBus支持6GBps共享内存数据通道

在不改变taskbus接口的情况下,除了传统的管道模式,引入了共享内存模式。该模式可以显著降低内存拷贝次数,提高SDR的吞吐。实测可轻松应对 X310,X410的单路吞吐需求。基于AI辅助设计,有效保证了强大的前向兼容性,管道模式和共享内存模式灵活兼容。

2026-09-04 13:19:41 445 7

原创 实战QtQCamera实时视频流处理

本文介绍了MSYS2环境下使用ucrt64的zbar、qrencoder工具,进行二维码的生成、识别的例子。基于MSYS2环境,以及增强管道数据流转(EPDR)平台taskBus,驱动Qt 6的Camera模块实时捕获图片进行在线识别。值得注意的是,所有代码均由GLM 5.3 驱动自动化开发工具 trae 完成,人类只在旁路观察了本次精彩演绎。

2026-08-21 19:16:18 311

原创 现场工程师实录_日志暴增幽灵表_Greenplum6集群xid回卷与逐节点清理

摘要: 某游戏平台基于Greenplum 6的后端集群突发XID回卷告警,主节点age正常但Segment节点age高达15亿。经排查发现是网络中断导致分布式事务失败,在30个Segment上残留"幽灵表"(主节点目录中不存在但Segment物理存储保留)。由于Greenplum 6的autovacuum机制仅限template1数据库,且手工VACUUM无法覆盖幽灵表,其age持续累积触发回卷警告。最终通过直接在Segment节点删除幽灵表解决。

2026-08-11 07:01:23 327

原创 taskBus多进程管道业余软件无线电挑战200MHz大带宽吞吐调优

taskBus内存泄漏问题分析及修复方案 问题概述 taskBus跨进程框架在处理200MHz采样率UHD X310设备数据时,主进程内存从22MB飙升至32GB导致OOM崩溃。经排查发现,问题根源在于Qt的QProcess内部缓冲区无上限机制导致背压失效。 关键发现 内存去向:32GB内存主要堆积在QProcess的readBuffers和writeBuffer这两个默认无上限的内部缓冲区中 背压断裂点。

2026-08-09 19:57:51 393 2

原创 AI辅助采用输出级双缓冲缓存挑战最大带宽动态多载波生成

本文提出了一种提升动态多载波PSK信号源带宽的优化方案。通过将缓存从载波级迁移到最终输出级,将运行时回放简化为纯内存拷贝操作,显著降低了计算负载。文章详细介绍了输出级双缓冲架构的实现,包括数据结构设计、后台填充线程逻辑以及主线程的双缓冲交换机制。测试结果表明,该方案成功突破了原有12MHz的带宽瓶颈,实现了>56MHz的最大带宽。这种优化思路对需要实时信号处理的应用场景具有重要参考价值。 源码地址

2026-07-28 18:48:18 447

原创 AI辅助快速实现动态多载波PSK随机信号源

文章摘要:taskBus平台的信号源模块近期升级,新增高性能动态多载波PSK随机信号源source_random,支持运行时无缝调整载波频率、波特率和幅度。通过双缓冲机制和后台预生成技术实现了数据流不中断的动态参数修改,采用滤波器组优化和OpenMP并行计算提升性能。测试显示该模块在普通模式下支持约5MHz带宽,Loop模式可达12MHz。文章还对比了CPU与FPGA在信号处理性能上的差异,解释了通用CPU难以达到FPGA高带宽的原因。

2026-07-27 22:03:21 397

原创 Trae的十二时辰-驱动GLM5.2用AI重构Python版飞鸽传书(iptux)

本文将介绍如何在24小时内使用AI开发环境与大语言模型GLM5.2快速复刻Python版iptux(飞鸽传书兼容版)。项目采用PyQt6框架,实现与原版iptux和飞鸽传书的完全协议兼容,支持跨平台运行(Windows/Linux)。核心层采用纯Python编写,无UI依赖,可独立运行控制台版本。开发过程严格遵循协议字节级兼容性要求,实现了好友发现、消息收发、文件传输等所有核心功能。项目已开源,提供完整的技术栈和架构设计说明,展示了AI辅助开发的高效工作流程。

2026-07-19 09:59:44 483

原创 《电脑报》35年内容变迁研究报告(AI)

电脑报已经发行快35年了。35年对于IT来说,是一个值得考古的时间了。这次使用trae solo进行资料搜集,让AI创作了一个独特视角的研究报告,权当一乐。

2026-06-26 16:41:44 387

原创 以模块为中心的 taskBus App 开发模式及其局限

taskBus支持一种新型"模块中心"开发模式,允许重量级子模块取代平台主界面成为用户交互核心。该模式通过同一可执行程序在不同参数下扮演不同角色实现:H01作为独立启动器全屏运行,用户操作后自动拉起taskBus平台并退出;平台随后启动H02实例作为子模块接管界面,通过命令行参数识别自身角色。典型案例spectrum_pannel频谱仪实现了这一流程,包括状态保存、自动工程配置和流畅的角色切换,解决了传统平台中心架构在专业应用场景中的局限。

2026-06-15 07:45:00 508 1

原创 使用TraeAI开发Web页面测试MSYS2 ucrt64 Qt MCP服务器

本文介绍了使用Trae AI助手快速开发基于C++/Qt地理计算服务的Web测试页面。项目GeoCalc MCP将原有Qt桌面程序的核心计算功能封装为MCP协议服务,通过Qt的模块化设计和JSON支持实现了优雅转换。该服务采用统一JSON-RPC over HTTP接口,既能服务AI Agent又能支持传统Web前端调用。文章重点展示了如何利用AI助手快速生成测试页面,包括参数配置、地图显示和JSON接口展示等功能,显著提升了开发效率。所有代码已开源,采用MSYS2环境编译Qt MCP服务器.

2026-05-24 20:21:18 787

原创 AI_Agent狂飙时代Web低代码趋势预判

AI重构低代码:从组件拼装到智能生成的范式革命 本文分析了传统低代码工具面临的三大困境:个性化适配难、性能冗余和学习成本倒挂。随着AI Agent技术的发展,低代码正在经历从"拖拽组件"到"意图生成"的范式转变。核心观点包括: AI通过识图技术和自然语言处理,实现了设计稿到代码的精准转化,解决了传统低代码无法满足定制化需求的痛点; 对比数据显示,AI生成式低代码在需求适配性、可视化还原度和性能表现等方面全面超越传统方案; 实战案例证明,AI能直接生成符合金融行业特殊要求的定制化图表代码,无需二次开发;

2026-05-23 20:57:56 559

原创 QodeAssist:为msys2 ucrt64 Qt Creator 注入 AI 灵魂的开源插件

QodeAssist 是一款为 Qt Creator 设计的开源 AI 编程助手插件,支持智能代码补全、多面板聊天、代码重构等功能。它兼容多种 LLM 提供商(本地和云端),深度集成 Qt/C++ 开发工作流。文章详细介绍了其核心功能、支持的模型、Qt Creator 版本兼容性以及三种安装方式,重点讲解了在 MSYS2 UCRT64 环境下从源码编译的步骤。作为开源替代方案,QodeAssist 为开发者提供了比商业版 Qt AI Assistant 更灵活的 AI 编程体验。

2026-05-20 19:53:50 1320

翻译 PC博物馆(16) PolyMorphic‘s System 8813 和 Radio Shack TRS-80

本文翻译了两款1977年代的老计算机的历史。

2026-05-03 21:14:17 179

原创 改造传统Qt6Widgets程序为多会话MCPServer生产力工具-技巧与实现

本文介绍了将传统Qt6 Widgets程序改造为支持多会话的MCP Server生产力工具的关键技术与实现方案。主要内容包括: 系统架构设计:采用Qt框架构建多协议服务器,支持AI Agent通过MCP协议调用工具函数 核心技术实现: 使用QtConcurrent实现高并发处理 通过QtHttpServer构建HTTP服务接口 利用QMetaObject::invokeMethod确保线程安全的GUI操作 采用QThreadPool优化线程资源管理 核心功能实现。

2026-04-11 15:45:07 683 2

原创 QMetaObject的invokeMethod异步阻塞调用在MCPServer开发中的巧妙应用

摘要:本文介绍了在Qt6开发中使用QMetaObject::invokeMethod实现跨线程UI操作的方法。针对MCP地图服务器中捕获地图视图并返回base64图像的功能需求,分析了直接调用UI方法的线程安全问题,提出了通过Qt::BlockingQueuedConnection实现异步阻塞调用的解决方案。该方法利用Qt元对象系统,在保证线程安全的同时实现了简洁高效的跨线程调用,特别适用于后台线程需要与UI交互并获取返回值的场景。文中还提供了代码实现细节和优化建议,展示了该模式在MCP服务器中的实际应用

2026-04-09 21:10:26 455

原创 代际编程范式的技术文化根源:70-80 后 vs00 后程序员开发偏好差异的深层分析

编程范式代际差异:技术演进与文化变迁的双重影响 摘要:70-80后与00后程序员在技术选择上存在显著差异,前者偏好开发独立桌面应用,后者倾向脚本和Web应用。这种差异反映了计算机技术从桌面时代到云时代的演进轨迹(1980年代DOS系统到2010年代云原生),以及编程文化从英雄主义到开源协作的转变。教育体系变迁(从结构化编程到敏捷开发)进一步强化了这一代际差异。理解这些技术发展脉络和文化价值观演变,对现代技术团队管理具有重要意义,有助于弥合代际技术鸿沟,实现团队协作优化。

2026-04-06 20:00:55 473

原创 LLM的局限-让AI为HAM实现新星历格式到传统TLE格式转换程序踩坑记录

本文探讨了业余无线电卫星通信中星历数据格式转换的挑战与解决方案。随着SpaceX等公司发射卫星数量激增,传统5位数字的TLE格式将在2026年耗尽编号空间。Celestrak已开发支持9位编号的新格式(XML/JSON等),但现有软件仍依赖TLE格式。作者发现AI在处理TLE严格的字符对齐要求时存在局限,无法精确控制小数点位置和空格分布。最终采用人机协作方案:AI负责解析结构化数据,人工微调格式细节,开发了基于Qt的转换工具fmts2tle3,确保生成的TLE3格式完全符合69字符宽度等规范要求。

2026-03-28 15:21:53 533

原创 在Trae Solo模式下用Qt HttpServer和Concurrent升级MCP服务器绘制6G互联网覆盖区域

本文探讨了使用Qt框架实现MCP(Model Context Protocol)服务器的可行性及技术方案。通过Qt HttpServer和Concurrent模块构建三层架构服务器,实现了地理计算和地图服务两大MCP功能。文章详细介绍了服务器初始化、路由配置、异步处理等核心技术实现,并展示了AI调用MCP服务进行天基互联网卫星覆盖分析的示例。实验证明,Qt具备成熟的HttpServer开发能力,能够有效支持MCP协议开发需求,MCPServer更适合实现大颗粒度的低IO功能。

2026-03-19 11:25:52 649

原创 老旧CentOS7服务器JVM加载Jar缓慢排查:竟与NTP服务器有关

本博客介绍了运维时,发现由于NTP授时服务器宕机,导致的java8程序加载缓慢问题。

2026-02-03 21:39:24 870

原创 CentOS 7.6 TCP连接奇慢故障排查:中文注释引发的sysctl配置异常

摘要: CentOS 7.6服务器出现TCP连接奇慢故障,排查发现是sysctl.conf中net.ipv4.tcp_mem参数后的中文注释过长(约300字节),导致内核解析时缓冲区溢出,误将注释内容当作参数值读取,使TCP内存参数变为异常天文数字。删除过长注释后参数恢复正常,TCP连接速度恢复。根因是CentOS 7.6内核(2.6.32)对多字节字符注释解析存在缺陷。解决方案包括精简注释、升级内核或规范配置格式。此案例警示老旧系统中需警惕配置细节,避免因注释过长或编码问题引发隐性故障。

2026-02-03 21:27:45 770

原创 B205mini FPGA工程粗浅解析:从架构到Trae开发介绍

本文介绍了使用Trae对UHD ettus B205mini的FPGA项目进行理解、编译的过程。

2026-01-18 20:24:52 1243

原创 桌面大爷学Web(2)-AI SOLO模式实战:只动嘴不动手从零构建Vue地图页面

本文记录了使用Trae IDE的AI SOLO模式开发基于Vue 3和OpenLayers的地图应用的全过程。项目实现了地图显示、交互操作、量测功能和数据库查询等核心功能。AI通过四次主要任务逐步构建应用:初始化项目并集成OpenLayers、添加地图交互功能、实现量测模式切换、集成SQLite数据库查询。在每个任务中,AI都准确理解需求并生成高质量代码,包括前端Vue组件和后端Flask API。开发过程展示了AI辅助编程在理解复杂需求、处理技术细节和实现完整功能方面的出色表现。

2026-01-17 08:38:48 1274

原创 你好2026-OpenStreetMap全球矢量PBF数据导入情况

介绍了2026年以个人学习为目的导入OpenStreetMap地图镜像的情况。

2026-01-11 13:27:00 537

原创 使用Manjaro制作SDR业余软件无线电LiveDVD发行版

本文详细介绍了如何基于Manjaro Linux定制开箱即用的LiveDVD系统。文章首先说明如何通过修改Packages-Desktop文件预装Qt开发工具、SDR软件(如GNU Radio、Gqrx)、数据库等必要软件包,然后指导将代码资源和UHD FPGA镜像拷贝到Live系统目录。通过buildiso工具构建ISO后,建议在虚拟机中测试并同步配置修改,最终制作成U盘启动盘。该定制系统集成了开发环境、无线电工具和科学计算软件,可直接引导物理机使用,无需安装系统即可获得完整功能。

2025-12-29 21:38:45 764

原创 使用AI辅助开发SDR-多相滤波DDC/DUC工具核心原理详解

本文介绍了软件无线电中数字上下变频(DDC/DUC)的多相滤波实现技术。重点分析了传统方法的冗余计算问题,提出多相滤波通过拆分滤波器和交换操作顺序来提升效率。文章详细阐述了多相滤波的数学原理,包括滤波器"分身术"和零元素排除机制,并给出了环形缓存和索引预计算等关键工程实现技术。通过代码示例展示了如何在实际应用中高效处理不同采样率信号的转换与合路输出。该技术相比传统方法显著减少了计算量,适用于SDR系统的处理需求。

2025-12-20 22:22:59 960

原创 全面测试QtSql操作PostgreSQL数据库时戳字段的行为

本文详细测试了Qt SQL模块操作PostgreSQL时戳字段时的各种行为差异。通过双层模拟测试(操作系统时区×QDateTime时区×SQL会话时区×SQL绑定方式),共产生54条测试记录。测试程序基于Qt 6.10.1开发,模拟了北京、芝加哥、伦敦三种操作系统时区,测试了本地时刻和UTC时刻两种QDateTime对象,以及三种SQL会话时区(UTC、北京、芝加哥)和三种绑定方式(QDateTime对象、无时区字符串、有时区字符串)。旨在全面分析不同组合下时戳字段的行为,指导实际应用中的数据一致性排查。

2025-12-13 14:24:50 1140

原创 Visual C++下使用Win32 API为Release模式导出崩溃堆栈

本文介绍了在Windows环境下生成崩溃转储文件(dmp)的方法。通过Win32 API和DbgHelp库实现了异常代码转字符串、获取系统信息、解析调用堆栈等功能。核心代码展示了如何初始化符号引擎、遍历堆栈帧并生成详细的崩溃报告,支持x86/x64架构区分,可用于调试定位程序崩溃问题。相关实现已开源在Gitcode项目中。

2025-12-06 11:28:24 1129

原创 MSYS2下使用libbacktrace为MINGW编译器Release模式导出崩溃堆栈

文章摘要: 本文介绍了在MSYS2/MinGW环境下使用libbacktrace库实现程序崩溃堆栈回溯的方法。作者针对Windows平台下MinGW编译器难以生成PDB调试文件的问题,提出了基于libbacktrace的解决方案。文章详细说明了安装libbacktrace库的步骤,并提供了一个完整的工具头文件实现,包含信号捕获、堆栈回溯和日志记录功能。该方案支持自定义日志路径,能捕获SIGSEGV等常见崩溃信号,并输出详细的调用栈信息(函数名+行号)

2025-12-01 22:07:40 923

原创 使用gitea和git管理发布MarkDown格式的技术文章

本文介绍了如何利用Gitea托管技术文档的方法。通过导出Markdown和HTML格式文档,使用Python脚本替换图片链接,将CSDN等平台的技术文章迁移到Gitea进行集中管理。文章详细说明了文档下载、图片处理、链接转换等步骤,并展示了通过Excel生成目录分类的方法。虽然不同平台的Markdown渲染引擎存在兼容性问题(如公式、Mermaid图表),但Gitea仍可作为团队技术文档管理的有效解决方案。这种方法既能实现代码托管,又能统一管理技术文档,提高了团队协作效率。

2025-11-30 11:31:19 1114

openOBD MSYS2 Ucrt64 构建版

老车年检前想自己读取OBDII状态,一般开源的软件是 openOBD. 但是它依赖 wxWidgets,编译不简单。好在有MSYS2,我们直接编译了一个64位的版本,供使用。选择相应连接线的速率,即可读取内容。一般速率是38400,也有9600的,都试试看。一般启动后直接显示已连接说明速率对了。如果界面卡死,说明速率不对。OBD线在网上买个几十块的就行了,OBD转USB,而后笔记本连上就能读。

2024-12-07

Lenovo T490 温度墙修复软件

客户使用LenovoT490 win11 跑GQRX SDR,接入SDR在5MHz采样率下,机器卡顿。这对于10代i7CPU显然是不正常的。后续发现上网页也卡,卸载杀毒、重装系统、BIOS电源设置、系统最大性能、主动散热全部设置后,故障依旧。 下载安装 TPFanControl,我下载的是0.63。安全第一,首先保证风扇能够强力运行,吹得手暖和。下载安装Throttlestop, 关闭 BDPROCHOT 以及 TPL 中对两个Limits进行锁定。 https://goldenhawking.blog.csdn.net/article/details/135313297

2023-12-31

基于Qt的多线程流水线异步服务器稳定版

本资源设置1个资源分,您可以下载作为捐献。 如果您有Git,还可以从http://www.goldenhawking.org:3000/goldenhawking/zoom.pipeline直接签出最新版本 (上一个版本“一种可伸缩的全异步C/S架构服务器实现”是有问题的,现在已经完成更改)。 服务由以下几个模块组成. 1、 网络传输模块。负责管理用于监听、传输的套接字,并控制数据流在不同线程中流动。数据收发由一定规模的线程池负责,实现方法完全得益于Qt的线程事件循环。被绑定到某个Qthread上的Qobject对象,其信号-槽事件循环由该线程负责。这样,便可方便的指定某个套接字对象使用的线程。同样,受惠于Qt的良好封装,直接支持Tcp套接字及SSL套接字,且在运行时可动态调整。(注:编译这个模块需要Qt的SSL支持,即在 configure 时加入 -openssl 选项) 2、 任务流水线模块。负责数据的处理。在计算密集型的应用中,数据处理负荷较重,需要和网络传输划分开。基于普通线程池的处理模式,也存在队列阻塞的问题——若干个客户端请求的耗时操作,阻塞了其他客户端的响应,哪怕其他客户端的请求很短时间就能处理完毕,也必须排队等待。采用流水线线程池避免了这个问题。每个客户端把需要做的操作进行粒度化,在一个环形的队列中,线程池对单个客户端,每次仅处理一个粒度单位的任务。单个粒度单位完成后,该客户端的剩余任务便被重新插入到队列尾部。这个机制保证了客户端的整体延迟较小。 3、 服务集群管理模块。该模块使用了网络传输模块、任务流水线模块的功能,实现了跨进程的服务器ßà服务器链路。在高速局域网中,连接是快速、稳定的。因此,该模块被设计成一种星型无中心网络。任意新增服务器节点选择现有服务器集群中的任意一个节点,接入后,通过广播自动与其他服务器节点建立点对点连接。本模块只是提供一个服务器到服务器的通信隧道,不负责具体通信内容的解译。对传输内容的控制,由具体应用决定。 4、 数据库管理模块。该模块基于Qt的插件式数据库封装QtSql。数据库被作为资源管理,支持在多线程的条件下,使用数据库资源。 5、 框架界面。尽管常见的服务运行时表现为一个后台进程,但为了更好的演示服务器的功能,避免繁琐的配置,还是需要一个图形界面来显示状态、设置参数。本范例中,界面负责轮训服务器的各个状态,并设置参数。设置好的参数被存储在一个ini文件中,并在服务开启时加载。 6、应用专有部分模块。上述1-4共四个主要模块均是通用的。他们互相之间没有形成联系,仅仅是作为一种资源存在于程序的运行时(Runtime)之中。应用专有部分模块根据具体任务需求,灵活的使用上述资源,以实现功能。在范例代码中,实现了一种点对点的转发机制。演示者虚拟出一些工业设备,以及一些操作员使用的客户端软件。设备与客户端软件在成功认证并登录后,需要交换数据。改变这个模块的代码,即可实现自己的功能。

2014-06-07

gqrx-spectrogram.zip

从开源项目gqrx中提取的时频图显示控件。由于原版做的非常棒,可以直接拷贝使用。建议下载本项目后,从github下载最新版的相应文件后覆盖,这样可以一直保持最新。

2020-01-26

UHD 3.15 FPGA镜像

USRPUHD3.15, 和 PothosSDR-2020.01.26-vc14-x64配合,用于GNURadio的加载。

2020-12-05

世界地名对照表Postgres 9.1 导出

拉丁语系、斯拉夫语系的世界地名和中文翻译对照表,postgresql 导出 (9.1),UTF-8编码。 请安装PostgreSQL 后,直接restore即可。

2012-09-08

Qt FCGI 例子

在与APP接口的后台WebService开发方面,估计很少有人直接使用C接口的libfcgi-dev进行开发的了。但是,这不代表此方法是不可行的。在强大的Qt库的支持下,原来使用C++开发webService也是非常方便的。这里我们以获取OpenStreetMap数据库中的地理信息为例子,看看现代C++的威力。

2020-10-12

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

TA关注的人

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