自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(837)
  • 资源 (135)
  • 收藏
  • 关注

原创 游戏中的唯一id生成,防止合服id重复

故事背景,接手了一个烂代码,合服的时候大量id重复。比如道具id重复,你把道具表的id改了,但是其他表用了道具id,其他表你也要改。如果其他表用的道具id不是单独一个字段,是一个复杂的数据呢,你怎么改。我奇怪的是他用了长度19位,float都装不下这么长的数据,居然重复的。生成出来大概是这样的 7293710237208084482,这么TM的大,lua的float都装不下.难受的是不同服生成出来的id,肉眼可见的回重复。服务器id4位,进程id 1位,时间10位,一共长度15位。

2024-09-13 11:51:08 413

原创 没看懂为什么死循环了。说好的函数重载呢

强转了指针,子类还是调用基类了,直接死循环。

2024-09-07 17:24:34 193

原创 mysql开启远程访问

如果步骤3报错 1045 - Access denied for user 'root'@'192.168.0.109' (using password: YES)我的解决方案,是直接上宝塔新增一个账户,然后给权限。个人建议mysql可以用宝塔自动下载安装。3.本地先连上去命令行修改远程访问权限。2.ping端口确定数据库能ping通。1.关闭防火墙,确保ip能ping通。

2024-09-05 14:46:00 393

原创 宝塔管理面板里防火墙开关无法打开 ERROR: Couldn‘t determine iptables version

新版的宝塔不开防火墙,不能开端口,很恶心。

2024-09-04 20:32:25 213

原创 shell脚本定时重启游戏服务器

背景故事:入职了一套烂代码。内存泄露很严重,改不动,解决方案就是每天凌晨4点重启一次,技术上是共享内存,实时修改的,重启不会丢数据。3.重启本机所有服脚本 sg_all.sh。2.重启服务器脚本 new_sg.sh。1.启动服务器脚本 start.sh。4.定时重启脚本 keep.sh。

2024-09-04 15:26:29 306

原创 智能指针,然并卵

两个指针指向同一个对象,释放其中一个指针,另外一个就会野指针。当你想引入智能指针解决问题,然并卵,智能指针也是野指针。

2024-08-23 17:58:15 187

原创 一个数据库查询的结果,作为另一个数据库查询的条件

最好是log表查询的用户uid结果,作为用户表查询where的条件。目前log表和用户表不是同一个数据库。通过实践证明是可行都,下面是操作语句。事情是这样的一个误操作,给一个用户发邮件发成了所有用户。第一步是把还没领取的邮件删除,第二步是已经领取了都要扣除。比较笨的方法是去log表查询到用户uid, 然后用uid一次次的去用户表查,这样处理效率太低,数据量大无法处理。领取邮件是有log表,先要从log表查询领取邮件的用户uid,然后用uid去用户表修改数据。把两条不同数据库的查询语句合并成一条。

2024-08-17 12:25:36 207

原创 windows+linux获得本地ip(内网ip)

【代码】windows+linux获得本地ip(内网ip)

2024-08-08 16:40:36 99

原创 protobuf2.5升级protobuf3.14.0

这个升级搞得心力憔悴,我VS2010升级到了VS2017,所有的库都要编译一下,想着顺便把其他的三方库也升级了。搞了好几天,才升级完,因为不仅要搞windows还要搞linux版本各种库的升级。hpsocket的升级,jsoncpp的升级,lua的升级等最近也有更新,打算升级VS的可以顺便看看。

2024-07-28 05:27:00 266

原创 Makefile 如何将生成的 .o 文件放到指定文件夹

研究了不少文章,我行通了一个,但是也不全,目前只能适用当前文件夹,如果源文件有子文件夹处理不了,还得继续研究。很多人说编译完把O文件移动走或者直接删掉。我想说的是不符合我的要求,移走或者删除O文件,每次都要全部重新编译。linux Makefile 如何将生成的 .o 文件放到指定文件夹。makefile 替换文件扩展名 patsubst。makefile 隐藏文件扩展名 basename。去掉window字符 dos2unix。3、patsubst :替换通配符。2、notdir : 去除路径。

2024-07-27 22:09:39 500

原创 C++编译jsoncpp库

(1).工程(Project)->属性(Properties)->配置属性(Configuration Properties)->c/c++->代码生成(Code Generation)->运行时库(Use run-time library)->多线程调试DLL(/MDd)(Multithreaded DLL/Debug Multithreaded DLL)如果出现 error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“2”不匹配值“0”。

2024-07-26 23:47:12 744

原创 windows编译protobuf

build目录下就会生成protobuf的vs工程。注意windows要cpp版本。点击Configure。

2024-07-25 19:56:23 245

原创 tolua++bug,int64强转double导致值不对

我C++传值给lua,接口用的tolua++。传过去值不对,我都懵逼了。

2024-07-22 11:13:38 418

原创 navicat15已连接忘记密码

2.使用文本打开 connections.ncx。3.复制加密密码,在线解密。

2024-07-17 16:38:14 340

原创 虚拟机占用太多硬盘

【代码】虚拟机占用太多硬盘。

2024-07-15 10:31:19 94

原创 获得外网ip

首先,确保安装了CURL库。

2024-07-06 13:20:25 111

原创 判断国内ip

{"code":200,"msg":"success","data":{"address":"中国 重庆 重庆 电信","ip":"183.69.129.158"}}'

2024-07-02 09:49:46 388 1

原创 /lib64/libstdc++.so.6: version `CXXABI_1.3.8‘ not found (required by zl/MonitorServer)

如果你gcc版本确实太低,参考连接升级。电脑上有正常的版本,重新链接以下就ok。

2024-05-24 16:29:01 440

原创 不定长int的读写

if ((data_first & 128) == 128 ) // 10000000 判断最高位是否是1。// 01111111 第一个字节只取6bit。//第一个字节的最后一位是1表示-1。

2024-04-29 15:12:44 290

原创 protobuf根据字段名修改值

【代码】protobuf根据字段名修改值。

2023-08-26 16:43:04 459

原创 C++对指针引用不会导致多次释放

【代码】C++对指针引用不会导致多次释放。

2023-07-21 18:32:50 287 2

原创 C++左移超过32位bug

int main()return 0;

2023-07-17 16:03:13 310

原创 windows环境make

PowerShell快捷键 win +X。先安装windows ubuntu。

2023-06-22 14:06:26 187

原创 linux 安装LuaJIT

如果还是报错的话 拷贝到 user/lib64。

2023-06-14 17:50:28 443

原创 version `GLIBCXX_3.4.14‘ not found

本人测试gcc-8.3.0装不上,可考虑7.30亲测可装, 4.81也测试过了,可以装但是应该不支持3.414。CentOS7升级GCC版本,解决version `GLIBCXX_3.4.21‘ not found。

2023-06-14 12:23:46 775 1

原创 【逆向编程】给16进制加上0x

【代码】【逆向编程】给16进制加上0x。

2023-05-15 20:42:51 451 1

原创 [socket]hpsocket-pull模式

PULL:收到数据立马触发OnReceive,但需要开发人员维护数据包的长度(数据缓冲区管理HP内部做了),当拼接一个完整的Pack之后,Fetch获取完整的数据包就OK了。PACK:收到数据并且拼成一个完整的Pack之后触发OnReceive,OnReceive的数据就是一个完整的包。开发人员不必关系拼包的过程,为什么要用pull模式呢,我不是所谓的别人说pull效率高,是因为包头的长度 int不是固定长度。PUSH:收到数据立马触发OnReceive,由开发人员自己实现拆包和缓冲区的管理逻辑。

2023-05-14 19:41:38 583

原创 【逆向开发】不定长int

意思就是int足够小只用一个字节去存,和protobuf的有一点差别。Protobuf数据格式解析。

2023-05-14 19:27:09 210

原创 把字节码转为十六进制码,一个字节两个十六进制,内部为字符串分配空间

【代码】把字节码转为十六进制码,一个字节两个十六进制,内部为字符串分配空间。

2023-05-14 19:22:50 232

原创 【java】eclipse

F7是跳出函数 step return,执行完当前method,然后return跳出此method。F6是step over,跳过,也就是执行本行代码,跳到下一行。全局搜索 search / ctrl + alt + h。eclipse 如何自定义快捷键?eclipse快捷键大全。F5是step into,也就是进入本行代码中执行,跳入。project ->clean 就会重新编译。eclipse重置窗口布局。自定义ctrel + P。

2023-04-18 19:41:57 485

原创 【java】基础篇

右键属性-》C:\Users\ideaction888\eclipse\java-2019-122\eclipse\eclipse.exe -data G:\XXX\server。重写概念:子类中如果创建了一个与父类中相同名称、相同返回值类型、相同参数列表的方法,只是方法体中的实现不同,以实现不同于父类的功能,这种方式被称为方法重写,又称为方法覆盖。定义:Java中,final 表示最终,也可以称为完结器,表示对象是最终形态的,不可改变的意思。它的规范标准就是,里面全部都是由全局常量和公共的抽象方法组成,

2023-04-18 19:39:43 72

原创 mongdb windows安装,linux安装,Navicat使用

bind_ip=0.0.0.0 #绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定则默认本地所有IP。安装mongodb-community之后提示command not found: mongo找不到mongo指令。进到bin G:\mongodb-win32-x86_64-windows-6.0.5\bin。4、新建必要的文件夹(依次是:数据库 日志 配置文件)根据库名创建数据库,先导出sql,再导入sql。3、改名,放到目录:/usr/local。#后台启动需要配置日志输出。

2023-04-18 19:29:26 19

转载 远程计算机或设备不接受连接

unity 账号激活不了,退出登录打不开网页,系统诊断提示远程计算机或设备不接受连接。

2023-04-07 17:11:34 106

转载 怎样把防火墙阻止的程序改为允许

如图所示,在弹出的小窗口中点击浏览,找到要添加的应用或者功能的 .exe 地址,点击添加,然后点击Windows Defender 防火墙—允许的应用窗口中的确定即可。允许的应用和功能变成了可点选的状态,点击允许其他应用按钮。许的应用和功能变成了可点选的状态,点击允许其他应用按钮。

2023-04-07 17:06:30 761

原创 Xshell 连接提示Connection established. To escape to local shell

我出现这个情况是服务器设置了白名单,然后公司的外网ip变了。

2023-04-07 13:48:11 384

原创 【奇怪bug】map的key重复问题

map这个key重复问题,杠开始是在同一个文件,同一个函数使用,不会有这个问题,在我抽出函数后出现key无法查找的问题,我一度怀疑是编码问题,后来发现编译没问题,再次怀疑是中文的问题,我改成拼音后还是没解决,发现虽然key看起来是一样的但是地址不一样,我怀疑是指针的问题,于是改成字符串解决了、、

2023-01-18 16:39:16 547

原创 vscode搜索替换根据文件夹名赛选

非常实用的功能,就不用给不同的分类建立子目录。不同的文件夹有相同的文件,可以通过这个赛选。

2023-01-12 11:19:39 253

转载 随机函数,洗牌函数 random_shuffle

【代码】随机函数,洗牌函数 random_shuffle。

2022-11-18 17:17:09 153

原创 【C++】记录一次代码优化,28490行代码优化到1401行代码

记录一次代码优化,28490行代码优化到1401行代码----优化背景,游戏需要做一个旁观功能,那么需要修改的地方有入座和广播。目前看代码是有110个麻将和牌类,代码相似度99.9%,只有一个枚举不一样(游戏id).功能是很简单,入座的协议加个字段是否旁边,广播的时候给旁边的玩家也发消息。但是涉及到一百多个游戏,我也可以每个游戏都改一遍,但是如果有bug,或者还需要修改,不是很麻烦吗。所以必须把相同的代码抽出来形成通用函数,每个游戏调用通用函数,不一样的再特殊处理。.........

2022-08-31 15:27:59 1139

原创 [C++]指针做参数的bug,双指针的应用

指针作为参数,可以修改指针指向对像的值,这个外面的也会被修改。修改指针的指向,外面的指针并不会被修改,需要用到指向指针的指针。应用场景,你需要返回2个指针,当然你也可以选择返回结构体。...

2022-08-30 15:54:12 285

PushFramework-二进制版本

PushFramework

2017-04-03

进程崩溃自动重启

进程崩溃自动重启

2017-03-30

windows守护进程代码

windows守护进程代码 病毒一样的代码

2017-03-30

websocket++库

websocket++库 实测可用,需要boost库

2017-03-05

线程进程互斥锁

线程进程互斥锁

2017-03-01

c++ protobuf-2.5.0源码+exe

protobuf-2.5.0.tar + protoc-2.5.0-win32

2017-02-23

WSExplorer1.3_gr

WSExplorer1.3_gr 选择进程抓包,显示16进制数据

2017-02-21

二进制打包解包

打包解包

2017-02-18

打包解包注意位移归零

打包解包注意位移归零

2017-02-17

进程共享内存

进程共享内存

2017-02-15

函数做参数Pro

函数做参数Pro

2017-02-15

函数作为参数

函数作为参数

2017-02-15

WebServer-lib

WebServer可以嵌入到项目中

2017-02-14

Web socket

WebServer_test

2017-02-13

websocket-master

websocket-master

2017-02-13

libwebsockets-master

libwebsockets-master

2017-02-13

WebServer_Client

WebServer_Client

2017-02-13

sln2mak sln2mak

sln2mak 包括源码

2017-02-10

VMware-workstation-full-10.0.1-1379776-注册机

VMware-workstation-full-10.0.1-1379776-注册机

2017-02-09

mapwin+Tiled

mapwin+Tiled

2017-02-08

mysql实现的排行榜

每个排行榜分日周月总,三个类型。mysql只需要一个表

2022-05-27

skynetgame.zip

用skynet搭的一个传统框架,单线程的游戏逻辑,有点失去了skynet的思想,主要用来熟悉框架,实现了一个农场的小游戏服务器代码

2020-12-26

dpqServer.zip

网狐服务器 linxu版本 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CommonServer", "CommonServer", "{FC6E5723-5476-42E6-8B6A-8BE07E914C5D}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bulletinserver", "AllServer\bulletinserver\bulletinserver.vcxproj", "{4C6821B2-8CC2-41A5-942D-78D

2020-10-25

dlsSqlDb2020-10-25.zip

网狐服务器数据库 需要先安装JDK_1.8.0_64bit.ex 依赖环境 再安装cn_sql_server_2016_enterprise_x64_dvd_8699450 最后安装SSMS-Setup-CHS_2016.exe 用来导入导出数据的

2020-10-25

dlmServer2020-10-25.zip

Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "服务核心", "公共组件\服务核心\ServiceCore.vcxproj", "{B1320037-89DD-4F99-A628-69DC200DFA05}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "协调服务器", "服务器组件\协调服务器\Correspond.vcxproj", "{0167D883-34DA-47FC-A903-6BE341FD8DC5}" EndProject Project(

2020-10-25

Websocket.zip

封装过的websocket,window的使用例子linux要自己编译库有源码 WebSocket是一种网络传输协议,可在单个TCP连接上进行全双工通信,位于OSI模型的应用层。WebSocket协议在2011年由IETF标准化为RFC 6455,后由RFC 7936补充规范。Web IDL中的WebSocket API由W3C标准化。 WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。

2020-10-19

libco文档以及代码.zip

libco 是腾讯开源的一个有趣的协程基础库,仅有的几个函数接口 co_create/co_resume/co_yield 再配合 co_poll, 可以支持同步或者异步的写法,如线程库一样轻松,库里面提供了socket族函数的hook, 包含如下内容: pthread风格的coroutine接口封装 事件循环以及超时机制 基于glibc-2.17源码修改的一个swapcontext高性能汇编版本 socket函数的coroutine hook,阻塞式的socket调用会直接切换为异步调用 适用场景:已有大量的同步调用网络库,例如HttpGet/Memcache_cli/...,

2020-10-17

curlpp-0.8&&curl7.6.zip

curlpp是libcurl的C++封装,由于作者本身并不使用Visual Studio(可能并不贴切,但总之作者提供的vs工程并无法直接编译通过并运行),所以在Windows下的构建并不是解压后就可以编译通过。我自己捣鼓了一个多小时,才发现原来是这么回事。于是将编译的过程和注意事项分享如下。

2019-12-05

VSCodeUserSetup-x64-1.40.0-insider.zip

visual Studio Code是一个轻量级但功能强大的源代码编辑器,可在桌面上运行,适用于Windows,macOS和Linux。它内置了对JavaScript,TypeScript和Node.js的支持,并具有丰富的其他语言(如C ++,C#,Java,Python,PHP,Go)和运行时(如.NET和Unity)的扩展生态系统。

2019-11-09

babun-1.2.0.zip

安装: (1)设置HOME环境变量为D:\app\home\fmcat (2)解压下载的文件,进入解压后的目录,找到install.bat (3)以管理员权限打开cmd窗口,然后进入到install.bat所在目录,例如:D:\app\babun_120\babun-1.2.0 d: cd D:\app\babun_120\babun-1.2.0 install.bat /t "D:\app\babun_120" 3、运行: 点击桌面的babun图标即可

2019-11-08

C++写的高效率排行榜功能 rank.zip

C++写的高效率排行榜功能,输出txt文件,也可以当小型数据库存取数据。 /******************************************** * * 排行榜管理器 * *********************************************/

2019-08-29

封装后的C++读取json库

封装后的C++读取json库,以及安全的字段取值。 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。

2019-08-20

Navicat Premium 12.zip

Navicat Premium 12.zip 支持mysql 支持SQL server Navicat Premium 是一套数据库开发工具,让你从单一应用程序中同时连接 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 数据库。它与 Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、MongoDB Atlas、阿里云、腾讯云和华为云等云数据库兼容。你可以快速轻松地创建、管理和维护数据库。

2019-07-10

HP-Socket网络通信框架开发指南.zip

HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、 客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通 信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口。 HP-Socket 对通信层完全封装,应用程序不必关注通信层的任何细节;HP-Socket 提供基于事件通知模型的 API 接口,能非常简单高效地整合到新旧应用程序中。 为了让使用者能方便快速地学习和使用 HP-Socket,迅速掌握框架的设计思 想和使用方法,特此精心制作了大量 Demo 示例(如:PUSH 模型示例、PULL 模型示例、PACK 模型示例、性能测试示例以及其它编程语言示例)。

2019-01-22

HP-Socket-master.zip

HP-Socket是一套通用的高性能TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的TCP/UDP/HTTP通信系统,提供C/C++、C#、Delphi、E(易语言)、Java、Python等编程语言接口。HP-Socket对通信层完全封装,应用程序不必关注通信层的任何细节;HP-Socket提供基于事件通知模型的API接口,能非常简单高效地整合到新旧应用程序中。 [1] 为了让使用者能方便快速地学习和使用HP-Socket,迅速掌握框架的设计思想和使用方法,特此精心制作了大量Demo示例(如:PUSH模型示例、PULL模型示例、PACK模型示例、性能测试示例以及其它编程语言示例)。HP-Socket当前支持Windows和Linux平台。 [1]

2019-01-22

intech二面:(全是选择题)

二面:(全是选择题) 第1-4部分是智力题,找数字规律和找图形 第5-6部分是性格题 第7-6部分是逻辑题,和语文的阅读理解差不多,但是更像公务员的考试风格。

2019-01-17

md5加密解密 string Md5Encode::Encode

std::(std::string src_info) { ParamDynamic param; param.ua_ = kA; param.ub_ = kB; param.uc_ = kC; param.ud_ = kD; std::string result; const char *src_data = src_info.c_str(); char *out_data_ptr = NULL; int total_byte = FillData(src_data, strlen(src_data), &out_data_ptr); char * data_BIT_OF_GROUP = out_data_ptr; for (int i = 0; i < total_byte / (BIT_OF_GROUP / BIT_OF_BYTE); ++i) { data_BIT_OF_GROUP += i*(BIT_OF_GROUP / BIT_OF_BYTE); RotationCalculate(data_BIT_OF_GROUP, param); } if (NULL != out_data_ptr) { delete[] out_data_ptr, out_data_ptr = NULL; } result.append(GetHexStr(param.ua_)); result.append(GetHexStr(param.ub_)); result.append(GetHexStr(param.uc_)); result.append(GetHexStr(param.ud_)); return result; }

2017-09-28

yum_rpm....

python-2.7.5-48.el7.x86_64 python-iniparse-0.4-9.el7.noarch yum-3.4.3-150.el7.centos.noarch yum-metadata-parser-1.1.4-10.el7.x86_64 yum-plugin-fastestmirror-1.1.31-40.el7.noarch

2017-06-08

yum-3.4.3.tar

yum-3.4.3.tar

2017-06-07

PushFramework-string版本

PushFramework-string版本

2017-04-03

空空如也

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

TA关注的人

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