- 博客(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
原创 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
原创 一个数据库查询的结果,作为另一个数据库查询的条件
最好是log表查询的用户uid结果,作为用户表查询where的条件。目前log表和用户表不是同一个数据库。通过实践证明是可行都,下面是操作语句。事情是这样的一个误操作,给一个用户发邮件发成了所有用户。第一步是把还没领取的邮件删除,第二步是已经领取了都要扣除。比较笨的方法是去log表查询到用户uid, 然后用uid一次次的去用户表查,这样处理效率太低,数据量大无法处理。领取邮件是有log表,先要从log表查询领取邮件的用户uid,然后用uid去用户表修改数据。把两条不同数据库的查询语句合并成一条。
2024-08-17 12:25:36 207
原创 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
原创 判断国内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
原创 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
原创 [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
原创 【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
转载 怎样把防火墙阻止的程序改为允许
如图所示,在弹出的小窗口中点击浏览,找到要添加的应用或者功能的 .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
原创 【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
dpqServer.zip
2020-10-25
dlsSqlDb2020-10-25.zip
2020-10-25
dlmServer2020-10-25.zip
2020-10-25
Websocket.zip
2020-10-19
libco文档以及代码.zip
2020-10-17
curlpp-0.8&&curl7.6.zip
2019-12-05
VSCodeUserSetup-x64-1.40.0-insider.zip
2019-11-09
babun-1.2.0.zip
2019-11-08
C++写的高效率排行榜功能 rank.zip
2019-08-29
封装后的C++读取json库
2019-08-20
Navicat Premium 12.zip
2019-07-10
HP-Socket网络通信框架开发指南.zip
2019-01-22
HP-Socket-master.zip
2019-01-22
intech二面:(全是选择题)
2019-01-17
md5加密解密 string Md5Encode::Encode
2017-09-28
yum_rpm....
2017-06-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人