摘要:
本文实现一个简单的配置类,原理比较简单,适用于一些小型项目。主要实现以下功能:保存配置到json文件、从文件或实例加载配置类的属性值、数据绑定到界面控件。
一般情况下,项目都会提供配置的设置界面,很少手动更改配置文件,所以选择以json文件保存配置数据。 阅读全文
摘要:
HP-Socket 是一套通用的高性能 TCP/UDP /HTTP 通信 框架 ,包含服务端组件、客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP /HTTP 通信系统,提供 C/C++ 、 C# 、 Delphi 、 E (易语言)、 Java 、 Python 等编程语言接口。
HP-Socket包含30多个组件 ,可根据通信角色Client/Server)、通信协议TCP/UDP/HTTP)和接收模型PUSH/PULL/PACK)进行归类,支持PUSH、PULL和PACK三种接收模型。 阅读全文
摘要:
在C++中,一般使用gSOAP来实现客户端、服务端。然而,对小项目来说gSOAP太大了,也不太方便。我们完全可以自己实现SOAP协议,毕竟SOAP协议的本质就是:Http协议+XML。
文章C++中gSOAP的使用介绍了gSOAP的使用,本文就以它的服务端为例,实现一个SOAP客户端。这里需要使用下面两个库:cpp-httplib、tinyxml2。 阅读全文
摘要:
每次新项目都要想着界面怎么设计好,但想来想去上位机界面就那几种,按照导航方式可分为:菜单工具栏导航、汉堡包导航、侧边导航等。我用的最多的是侧边导航,导航菜单一般只有一级(最多二级),三级导航菜单基本很少用到。
本文实现一个简单的侧边导航Winform程序框架,以后开发项目可以直接用。 阅读全文
摘要:
C++中字符串有很多种类,详情参考C++中的字符串类型。本文主要以string类型为例,讲一下字符串的编码,选择string主要是因为:
byte是字符串二进制编码的最小结构,字符串本质上就是一个byte数组;
C++没有byte类型,第三方的byte类型通常是char实现的;
char可以直接转换成string,也就是说byte直接转string。 阅读全文
摘要:
工作中经常遇到需要实现TCP客户端或服务端的时候,如果每次都自己写会很麻烦且无聊,使用SuperSocket库又太大了。这时候就可以使用SimpleTCP了,当然仅限于C#语言。
SimpleTCP是一个简单且非常有用的 .NET 库,用于处理启动和使用 TCP 套接字(客户端和服务器)的重复性任务,使用起来非常方便、代码也少。它的内部不是直接使用的Socket,而是在TcpClient的基础上进行了再次封装,接口更简单、明了。 阅读全文
摘要:
本文主要介绍C++中gSOAP的使用方法,附带介绍SOAP协议的基础知识,适用于第一次使用gSOAP的开发人员。gSOAP官网上的示例代码存在一些错误,对初次接触的人不太友好,本文是在官方示例calc++的基础上进行了一些补充、改动。
SOAP 是一种简单的基于 XML 的协议,它使应用程序通过 HTTP 来交换信息,具体内容可以参考SOAP 教程。SOAP的本质是通过HTTP协议以XML格式进行数据交互,只不过这个XML格式的定义是大家公认的。
使用SOAP时需注意,SOAP的XML命名空间由于版本的不同可能存在差异(如soapevn、SOAP-ENV),在调用SOAP服务前最好确认服务器的XML格式。 阅读全文
摘要:
Easylogging++ 是用于 C++ 应用程序的单头高效日志库。它非常强大,高度可扩展并且可以根据用户的要求进行配置。github链接:https://github.com/amrayn/easyloggingpp。
Easylogging++ 在v9.89版只有一个头文件,之后改为一个头文件、一个源文件,目前最新版本是v9.97(本文使用的版本)。 阅读全文
摘要:
不过它在手机上的显示效果不太理想,今天准备做一下改动,改动如下:增加对PC端、手机端的访问时是否显示特效的控制;修复原代码的部分bug,简化部署过程。
原代码在部署多个脚本时会找不到自己的script元素, 会导致设置失效,只能使用默认设置。 阅读全文
摘要:
词云”由美国西北大学新闻学副教授、新媒体专业主任里奇·戈登(Rich Gordon)于2006年最先使用,是通过形成“关键词云层”或“关键词渲染”,对文本中出现频率较高的“关键词”的视觉上的突出。词云图过滤掉大量的文本信息,使浏览者只要一眼扫过文本就可以领略文本的主旨。
网上大部分文章介绍的是使用Python的jieba、wordcloud的库生成词云图,本文则介绍如何使用jieba.NET、WordCloudSharp库的.NEI版本生成词云图。 阅读全文