自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SetPriorityClass 函数潜在得32MB工作集内存限制

MSDN:SetPriorityClass function (processthreadsapi.h) - Win32 apps | Microsoft Learn当人们调用 SetPriorityClass 函数并且将 “dwPriorityClass” 参数设置为:PROCESS_MODE_BACKGROUND_BEGIN 时。应用程序得工作集(Working Set)内存,开发人员必须控制在 32MiB,否则会导致大量得 “内存缺页异常”,因为操作系统会把多余得内存频繁得转储到 “PageSys”

2024-07-21 22:47:27 122

原创 MySQL 查看或设置最大链接数量

在 my.conf 配置文件的 [mysql] 节下增加:max_connections=1000。2、设置 MySQL 最大链接数量(临时)3、设置 MySQL 最大链接数量(静态)Windows/Linux 平台都一样。1、查看 MySQL 最大链接数量。后重启mysql服务。

2024-07-17 18:34:44 69

原创 Linux 下忘记MYSQL/ROOT密码,重置密码操作

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';1、必须具有存放MYSQL数据库服务器的设备操作权限。3、启用MYSQL安全模式,跳过密码验证。直接搜索进程,然后KILL发送关闭信号。7、关闭安全模式运行的MYSQL服务。6、退出MYSQL命令行。2、停止MYSQL服务。8、重启MYSQL服务。4、登录到MYSQL。

2024-07-17 18:28:49 272

原创 getaddrinfo 获取地址信息(C语言函数库/CRT)

在 Android 平台上,不建议大家在 C++ 上调用该函数解析DNS信息,但 C 语言是可行的,或 C/C++ 调用方层级不多且代码并不复杂,如调用方存在大量的 STL 字符串或容器计算,则不建议大家在安卓上使用它。getaddrinfo 是POSIX定义的通用函数,该函数可以在 Windows、MacOS X、Linux、Android 等平台正确编译且工作。这是原因,在这类的场景下,它可能导致程序运行时无意义崩溃,在非 Android 平台上面则无所谓。

2024-07-15 17:57:52 194

原创 GUN C/C++ 关于利用 musl-libc 编译兼容性

另外在 __MUSL__ 之中,我们需要频闭对于 GUN/C/C++ 扩展函数库:#include 的使用,所以不要指望,可以通过该函数解释C符号。所以,我很讨厌某些装逼人,技术不咋地,这个瞧不起、那个瞧不起,boost 库那么好用,兼容性这块没得说,除了代码量确重了点,然而并不差,但这个可以花点时间剔一下不用的代码的。该宏在 GUN/LLVM C++ 之中使用 GLIBC 运行库CRT时,是默认被定义的,但在 __MUSL__ 之中缺省是没有定义的。

2024-07-09 11:09:39 529

原创 关于利用C/C++ 利用编译器RAII机制,在多种编译器及跨平台下得兼容性问题。

上述的代码,在绝大多数编译器及平台上面都可以确保流程跟我们预期的一致性,但仍旧不能保证在优化之后会像例二一般,出现问题,虽然这段代码的编写方式,比例子二在更多的编译器、及平台上面有保证,所以我们需要例子四。在C/C++ 之中,我们常常利用RAII机制,来处理某个临时块得初始、及利用编译器自动析构,但这可能存在一定的致命性风险,如果你没有遇到,只是你没有过多的进行了解,挨得毒打太小,导致的。在执行 std::shared_ptr 的析构函数,在很多编译器之中是这样,但在一些编译器之中,

2024-07-09 10:50:06 412

原创 C/C++ Windows 与 Unix 平台上面使用 access 访问文件函数

在 Windows 与 Unix 平台上面得 C/C++ 之中,都标准提供了 access 函数得实现,只不过参数会有一些不同。鉴于 Windows 与 Unix 平台上面,对于 access 函数参数得宏值定义不同,所以人们需要定义一个内部枚举。其后,在通过定义得内部枚举,根据行为得不同实现具体得事务。

2024-07-09 10:30:53 299

原创 C/C++ 移动追加内容到文件尾部。

Unix 平台(Linux/Android/MacOS X)1.2、不通过追加到尾部字符命令。1.1、通过追加到尾部字符命令。2、通过 Lseek 函数。1、通过C语言文件函数库。

2024-07-09 10:22:44 370

原创 中国大陆IP段(含港澳)【2024-07-09】APNIC lasted 2024-07-09

1.0.1.0/241.0.2.0/231.0.8.0/211.1.0.0/241.1.2.0/231.1.4.0/221.1.8.0/241.1.9.0/241.2.0.0/231.2.2.0/241.2.4.0/241.2.5.0/241.2.6.0/231.2.8.0/241.2.9.0/241.3.0.0/161.4.1.0/241.4.2.0/23。

2024-07-09 10:12:19 364

原创 openppp2 控制台回显窗口输出内容详解

大致为:ppp+tcp、ppp+ws、ppp+wss 等。我们这边绝大多数情况下,通常只会在LINUX下面使用客户端模式,并启用混杂模式,配置SNAT软路由转发,Windows 平台发行版本其实很少在用。本文介绍 openppp2 的控制窗口回显内容,以LINUX平台为例子,其它平台大同小异,区别只是多了一些额外的输出选项内容,本文会在下面补充。区别根客户端模式的控制台回显内容差距不大,只是额外会显示当前启用了那些服务的信息,且包包含配置的公共IP地址、接口IP地址等。

2024-06-21 13:32:03 511 1

原创 openppp2 命令行接口详解

-no-lsp 禁止指定程序加载,LSP/NSP网络分层驱动。--system-network-reset 重置系统网络设置,等效:netsh winsock reset。--block-quic 是否允许阻止:IETF/QUIC HTTP/3流量,根据实际需要评估,通常建议阻止。例子:--pull-iplist myip.txt/JP。

2024-06-21 12:59:46 928

原创 中国大陆IP段(含港澳)【2024-06-21】APNIC lasted 2024-06-21

1.0.1.0/241.0.2.0/231.0.8.0/211.1.0.0/241.1.2.0/231.1.4.0/221.1.8.0/241.1.9.0/241.2.0.0/231.2.2.0/241.2.4.0/241.2.5.0/241.2.6.0/231.2.8.0/241.2.9.0/241.3.0.0/161.4.1.0/241.4.2.0/23。

2024-06-21 11:50:35 435

原创 C/C++ 提取DNS请求/响应数据包之中的 Quesion 内容

它主要是提取DNS数据包之中查询问题的信息,如:问题类型、问题类别、问题内容(域/IP),我们如果想要对于某个DNS数据包需要进行遥测的时,或者进行NS缓存生命周期管理,那么就需要类似这样的函数实现了。

2024-06-20 01:12:29 348 1

原创 Linux/Windows/MacOS X 上面 C/C++ 程序添加路由表

关于 Windows 平台下面 C/C++ 通过WINAPI操作路由的实现,可以参考开源项目 openppp2 的实现。Windows 平台可以参考本人的这篇文章的实现,利用 Windows 路由WINAPI接口来实现。关于 Linux 平台下面 C/C++ 通过LIBC API操作系统路由的实现,可以参考下述的实现;三个平台通用的实现,可以参考 openvpn 的开源代码实现。

2024-06-20 01:06:51 334

原创 LINUX 内核网络参数配置选项调优设置(宽频大流吞吐)。

【代码】LINUX 内核网络参数配置选项调优设置(宽频大流吞吐)。

2024-06-19 17:18:11 183

原创 关于网络控制协议之中的慢启动。

慢启动存在一个致命的缺点是,当双方RTT过大时,启速是很慢的,因为慢启动需要往返RTT确认来逐步的提高窗口的大小,但这个时间,或许会过于漫长,而定向提前计算出来的窗口大小却不会存在这样的困扰,启速就非常接近最大链路宽频利用率了。发送端跟接收端只是形式上的区别,如果接收端收到发送端的PUSH/ACK,处理了背负段数据的入队,并且覆盖了发送窗口的大小,不可以忽略传递过来的WND的大小,否则会引发网络拥塞的问题。1、在TCP协议中,慢启动增加的窗口退让为次方运算,每次退让一个2的次幂,即 >> 1。

2024-06-11 12:48:35 360

原创 UCP实验性质的拥塞控制协议实现(存档)。

大体实现,缺省模拟双向各丢10%的情况,即折合在20%网络丢包率下工作。等等,感兴趣的童鞋,可以自行研究,这是个网络流控控制协议。4、SWS糊涂窗口综合征处理。10、指数平均加权退让。6、SACK选择确认。

2024-05-19 16:33:06 298

原创 VC++ 各种未处理异常的处理,并输出DUMP崩溃转储调试文件

信号处理器、STL标准库异常处理、STL未处理器异常处理、SEH结构化未处理异常处理、C++ 未定义虚函数异常处理、C/C++ 内存分配异常处理等。

2024-05-11 13:08:36 201

原创 中国大陆IP段(含港澳)【2024-05-10】APNIC lasted 2024-05-10

1.0.1.0/241.0.2.0/231.0.8.0/211.1.0.0/241.1.2.0/231.1.4.0/221.1.8.0/241.1.9.0/241.2.0.0/231.2.2.0/241.2.4.0/241.2.5.0/241.2.6.0/231.2.8.0/241.2.9.0/241.3.0.0/161.4.1.0/241.4.2.0/23。

2024-05-10 13:41:08 589

原创 C++ 模板字典操作工具类

用来操作,map、unordered_map、hash_map 等字典类型集合,用这个单纯是为了代码阅读起来更好一点。

2024-05-10 13:37:22 201

原创 C++ NetworkToHostOrder、HostToNetworkOrder 模板函数

其作用类型:ntohl、htonl、ntohs、htons 函数的作用,因为要考虑兼容 int128、int64 等数据类型。IPV6 肯定是 int128 了,使用这两个函数可以帮助人们计算IPV6的地址范围等。

2024-05-10 13:32:48 239

原创 boost 1.76 版本及以下兼容实现:hash<boost::asio::ip::address_v4>、hash<boost::asio::ip::address_v6>、hash<boost:

为了保证 boost 库版本的代码兼容性,这是为了在多个平台上面跨平台编译的兼容性,所以我们通常需要去兼容打上这些补丁。

2024-05-10 13:30:39 215

原创 常见公共DNS服务器IP地址

【代码】常见公共DNS服务器IP地址。

2024-05-10 13:26:58 152

原创 C/C++ StringToAddress(字符串转 boost::asio::ip::address)

为什么不推荐 boost::asio::ip::address::from_string、boost::asio::ip::address::make_string 函数来把字符串转换为 ip 地址呢?这是因为有平台、编译器兼容性,在 android 平台上面,使用这两个函数会导致崩溃问题,在一些 clang 编译器上面也会导致崩溃问题。所以人们必须实现这两个函数。

2024-05-10 13:24:09 313

原创 C/C++ 协同程式切换潜在存在的一些致命性风险问题

A协同程序内部发起一个异步操作,并且 yield 让出CPU,但传入回调函数到异步操作内,异步操作失败,直接丢弃异步操作的上下文,而不驱动异步回调函数的调用,导致协同程序根本无法 resume,有非常多煞笔、智障、且偷懒,不是个人的东西,就很喜欢这么整,这种人是需要深恶痛绝的,即便是异步编程这样的下三滥行为都是不被允许的,试问:谁家会这么教育人这么干?这样的多核并行驱动架构,可以显著的提高整个应用系统的吞吐能力,至于多线程带来的复杂性,这并不可怕,合适的架构并不会导致这些致命性问题的产生。

2024-05-10 13:01:59 1453

原创 VC++ PDH/性能计数器

PID=0,缺省为当前进程,但最好是获取当前进程ID传递进去,当然也可以选择其它进程的ID。

2024-05-10 12:20:54 136

原创 VC++ VARINAT(可变量类型)操作

提供可变数组封装、可变类型数值/字符串获取等。

2024-05-10 12:11:39 186

原创 VC++ DCOM BSTR字符串转 std::string 标准库字符串

BSTR 字符串转 std::string 字符串。std::string 字符串转 BSTR字符串。

2024-05-10 12:06:53 136

原创 VC++ 获取指定进程ID(PID)的父进程ID

通过查询进程的 PBI信息(进程基础信息)来获取该进程的父进程ID。PEB(进程环境信息)

2024-05-10 12:02:50 135

原创 VC++ FindAllFilesWithNoRecursive 函数(查找目录下的全部文件,但不要递归步入到子目录)

【代码】VC++ FindAllFilesWithNoRecursive 函数(查找目录下的全部文件,但不要递归步入到子目录)

2024-05-10 11:58:14 74

原创 VC++ SYSTEMTIME、FILETIME、ULONGLONG 类型相互转换

【代码】VC++ SYSTEMTIME、FILETIME、ULONGLONG 类型相互转换。

2024-05-10 11:56:37 160

原创 C++ 利用标准库多字节转宽字节字符

std::wstring_convert 模板来实现,它可能导致程序崩溃的风险,如果字符集不是 utf8、或 unicode 字符时。在 C/C++ 之中,通常建议使用:mbstowcs (C语言函数库)来实现多字节字符转宽字节字符,这是因为如果使用。举个例子:一些特殊的中文字符,可能没法编译为 unicode 字符,那么就会导致发生异常,而且必须是 utf8 编码。可通过:setlocale 设置地区函数影响。

2024-05-10 11:53:31 421

原创 VC++ 不适用 atlconv.h(ATL字符集转换)实现 A2W、W2A、_UnicodeToUtf8、_Utf8ToUnicode 函数

CP_ACP 为缺省当前系统所在的语言字符集的宏(可在系统地区/语言之中修改)操作系统内部通常只带对应地区/语言的字符集,其它地区/语言字符集需要安装的。932(为鬼子日文 shift_jis)936(为简体中文GBK字符集)详情:可以自行查阅代码页号。949(为阿西八韩文)950(为繁体中文)

2024-05-10 11:42:07 227

原创 C/C++ IPV6服务器socket绑定在::,接受ipv4链接(双栈)

5、使用 struct sockaddr_in6 结构接受套接字,而不是用缺省使用 “sockaddr”,否则 10014(WSAEFAULT)错误,并导致套接字句柄泄漏。1、 创建IPV6套接字。3、禁用仅限 IPV6。2、打开套接字可重用。

2024-05-08 10:48:04 457

原创 Microsoft Edge 浏览器始终会显示光标问题

这是因为打开了 Edge 的插入光标浏览功能,打开 Edge 浏览器,按下F7,可以启用或关闭该功能,关闭该功能后,就不会出现烦人的插入光标闪烁问题。

2024-05-06 18:55:00 481

原创 Linux mount 挂载出现疑难问题;mount can‘t find in /etc/fstab

命令全盘搜索一下,该文件是否被移动到其它目录里面去了,如果确认不是自己移动的,就把找到的 fstab 文件复制一份到 /etc/fstab 里面去,否则就 ln -s 建立软链接到 /etc/fstab。如果是文件你就删除它,并且在重建为目录类型,如果这样都无法解决,那么说明问题需要更进一步尝试分析处理。在尝试看看,如果还是不能解决,那么就要比这个步骤在深入一步进行处理,这就是个小问题来着,不用过于惊慌。检查 /etc/fstab 文件是否存在,如果不存在就需要用。保存文件并且退出,并且执行命令;

2024-05-02 13:33:21 3356 1

原创 LINUX TCP/IP内核参数调优(适用于拉大流场景,但延迟、抖动会增大)

【代码】LINUX TCP/IP内核参数调优(适用于拉大流场景,但延迟、抖动会增大)

2024-05-02 12:13:11 474

原创 ubuntu 卸载docker

3、若你之前通过脚本安装了 Docker,那么还需要删除 Docker 的启动脚本。4、移除所有与docker相关的依赖包。2、删除所有相关的配置文件和数据目录。6、清除 iptables 规则。

2024-05-02 11:34:24 824 2

原创 C99 linkedlist 容器实现

【代码】C99 linkedlist 容器实现。

2024-04-27 19:38:57 455

原创 中国大陆IP段(含港澳)【2024-04-25】APNIC lasted 2024-04-25

1.0.1.0/241.0.2.0/231.0.8.0/211.1.0.0/241.1.2.0/231.1.4.0/221.1.8.0/241.1.9.0/241.2.0.0/231.2.2.0/241.2.4.0/241.2.5.0/241.2.6.0/231.2.8.0/241.2.9.0/241.3.0.0/161.4.1.0/241.4.2.0/23。

2024-04-25 23:11:47 652

serverspeeder2 锐速(TCP/IP单边加速)

支持:“Windows XP/2003” 操作系统平台(含:32/64位程序)

2022-09-20

serverspeeder 锐速

serverspeeder 锐速, 一:支持 “Windows Server 2016/2012/2008” x86_64 服务器平台。 二:支持 “Windows Desktop 7/8” x86_64 桌面平台

2022-09-20

sscli20.zip

Microsoft .NET Framework 2.0 FCL/BCL/RUNTIME,.NET虚拟机实现源代码!

2022-09-20

空空如也

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

TA关注的人

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