
服务器
draracle
这个作者很懒,什么都没留下…
展开
-
iOS的内购伪造单据识别
iOS内购的单据伪造识别原创 2022-12-16 21:54:31 · 813 阅读 · 1 评论 -
0xC004F069错误的解决方案
windows评估版本升级方法原创 2022-11-08 12:21:14 · 11488 阅读 · 4 评论 -
Unity IAP插件的iOS接入,服务器出现21002问题。
之前的老的框架,之前的项目一直都很正常的运行,这次接入iOS支付的时候,服务器出现了21002错误。这个问题让我头疼了1天。原因很简单,正常的iOS内购,苹果给的收据,由客户端进行base64编码之后,直接发送给服务器,然后服务器向苹果的对账服务器请求验证。只需要按苹果要求组装好json字符串即可。而网上关于设置 content_type = "application/json; charset=utf-8",或则将空格换成+号的说法,其实和这个21002半毛钱关系都没有。据我的测试可得知,co原创 2022-04-24 16:29:57 · 5643 阅读 · 0 评论 -
MYSQL Error 2013,Blob字段长度,以及max_allowed_packet
昨天服务器丢失与mysql的连接了,半夜的时候,客服给我打电话,我到服务器上看日志,看到日志中显示MySql 2013错误。2022-04-17 13:49:53 [167558.625s][ERROR] Lost connection to MySQL server during query2022-04-17 13:49:53 [167558.625s][ERROR] Failed execute SQL command: call update_ranking(?,?,?,@code), wit原创 2022-04-18 13:00:46 · 788 阅读 · 0 评论 -
路由器NAT超时设置引起的APP的TCP长连接丢失
之前碰到一个奇怪的现象,玩家在打战场的时候,由于一场打下来时间比较长,结果战斗结束之后,丢失了与Portal Server的连接,但奇怪的是没有收到任何连接丢失的事件。能成功发送消息,但服务器收不到,也无法收到从服务器来的消息。先以为是切后台之后连接被系统回收了,但反馈是根本没有任何切后台的操作。于是怀疑是不是客户端的网络的线程模型有问题,检查之后,发现线程模型没有大毛病,而且线程也是在很正常的运行。只是没有收到任何连接丢失的事件。随着收集的样本越来越多,发现一个共同点,就是这些APP都是在WIFI原创 2022-02-08 11:32:44 · 1958 阅读 · 0 评论 -
ignite 用 sqlline 把表导出成csv文件的方式
命令:./sqlline.sh --verbose=true -u jdbc:ignite:thin://127.0.0.1:4000 -n ignite -p yourpassword --run=/home/yourname/query.sql --outputformat=csv | sed "s/'/\"/g" > /home/yourname/backup.csv其中:query.sql内写查询语句,即可将需要的表的查询结果导出到csv文件。如果表有损坏,不影响导出,只是在打开.原创 2021-09-23 14:10:25 · 578 阅读 · 0 评论 -
Think.JS 在使用反向代理(Nginx,IIS)的情况下如何获取正确的客户IP地址
在Think.JS的启动脚本中,就是项目根目录下的 Development.js 或则 Production.js 中有一个开关,这个开关可以告知app是否使用了反向代理,从而可以在 this.ctx.ip 中获取到正确的地址。// 创建app的时候const instance = new Application({ ROOT_PATH: __dirname, APP_PATH: path.join(__dirname, 'app'), watcher: watcher, tran原创 2021-09-07 17:15:27 · 309 阅读 · 0 评论 -
ipaynow 现在支付的 think.js 服务端的实现
很想吐槽现在支付,文档资料不全,写的东西有误,文档让我给value字段用URL Encodeing,按照文档做结果无法完成通知,后来删掉所有的URL Encoding才解决问题。而且返回参数的方式奇葩,必须用payload的模式来获取返回值,还得装一个额外的组件https://github.com/thinkjs/think-payload可以用这个组建来获取数据,安装流程参考github的说明,需要在中间件内加一个解析器,在middlewares.js内,增加在 Think.js的payloa原创 2021-09-07 16:30:44 · 155 阅读 · 0 评论 -
一个默认operator=引起的C++服务器随机崩溃,以及对应的小技巧
今天在对服务器进行更新的时候发现更新服务器崩溃了,而且崩溃的还很频繁,每次重启程序之后没多久就会崩溃,又是崩溃的问题,这让我很头疼。又是那种随机位置崩溃,而且没有任何规律可言。同样的,引起了堆内存的损坏,无法获取到dmp文件和log文件。第一时间,能下的判断是内存问题。就是不知道是写越界还是其他错误。还是老规矩,给这个程序打开page heap,用vs来调试,发现每次都是在创建或则删除对象的时候崩溃。而且几乎都是对成员变量的内存操作出错,比如临界区,vector之类的,这一点就可以排除是缓冲区溢出的问.原创 2021-08-30 18:17:09 · 308 阅读 · 0 评论 -
Win32 C++ 服务器的堆内存被破坏的一次调试经历
昨天公司项目做小规模的测试,测试功能以及真实环境中的服务器稳定性,开服半小时后,战场服务器崩溃。崩溃的时候没有任何日志留下,按正常情况,我们服务器的每一个线程都有异常捕获机制,并能将现场dump出来,保存为dmp文件,并将调用堆栈打印出来,保存为log文件。但任何日志都没有被留下。碰到这个情况让我非常的头疼,因为毫无疑问,导致这种问题的原因肯定是和堆被破坏有关,堆被破坏后,任何有内存分配的行为都将失败。我不得不在服务器上装好vs的社区版,只安装调试工具,大概1.9个g的空间需求对服务器60g的硬盘也原创 2021-08-20 15:28:58 · 430 阅读 · 0 评论 -
MYSQL直接用命令行导出备份文件(SQL)
/usr/local/mysql/bin/mysqldump -u root -p pass databaseName > /usr/db_backup/filename.sql原创 2021-08-19 14:07:00 · 179 阅读 · 0 评论 -
一个导出lua堆栈内数据的例子,可以用来辅助开发
今天为了让脚本程序调试方便,给他们写了一个导出lua堆栈的辅助函数,用起来挺方便的,可以导出常用的类型,包括表,和表的嵌套。//@generated "UML to C++ (com.ibm.xtools.transform.uml2.cpp.CPPTransformation)"a_string gluon::CStackDumper::Dump(CScriptDevice* device, int offset){ //TODO Auto-generated method stub a_s原创 2021-07-20 15:51:31 · 207 阅读 · 0 评论 -
MYSQL中用select语句查询blob字段的长度
用下面的语句就可以查询数据库中blob字段所占的长度,单位:字节select OCTET_LENGTH(column_name) from table_name;原创 2021-06-29 16:14:56 · 1414 阅读 · 0 评论 -
关于中宣部实名认证过程中的一些问题和解答
这几天实名认证的事情搞得头大,原来以为必须是用“严格的”方式来校验用户身份信息,如果身份信息不可用,则不允许玩家进入。后来实际运营的时候发现,这个办法行不通,因为新闻版署服务器上也不是全部身份信息都有,因此会产生大量的挂起查询请求。这个时候玩家是无法进入的。而这个时间最大长达两天。那么问题来了,企业应该如何处理?和版署网站技术人员的沟通显示,如果成功,则让玩家直接进入,如果挂起,则让玩家进入,但是企业自己做出限制,如果验证失败,则直接不允许进入。关键问题在挂起的时候,这个时候,允许玩家进入,原创 2021-05-18 13:58:12 · 2866 阅读 · 0 评论 -
ignite诡异的错误,谁知道怎么解决?
一张表,非常简单,cardid playerid cfgid 这三个字段,查询一个玩家的数据,调用select * from playercardmailable where playerid=15800003305 limit 0, 10;执行很正常。加一个条件:select * from playercardmailable where playerid=15800003305 and cfgid=52 limit 0, 10;就报错:Invalid flag value: 82原创 2021-05-14 11:50:24 · 796 阅读 · 0 评论 -
关于实名认证上线时无法立即返回实名认证结果的问题
昨天开服的时候,有大量玩家的实名认证的请求被挂起,导致大量玩家无法进入游戏。本以为这种情况属于较快能处理的,结果一晚上都没有被处理,请求依然被挂起。今天又把nppa的文档翻出来看了一下,感觉这个坑很深啊:备注1)实名认证接口返回包括两种情况,可以立即返回实名认证结果和无法立即返回实名认证结果;无法立即返回实名认证结果的情况,可以通过实名认证结果查询接口查询,调用实名认证接口无法获得查询结果。2)无法立即返回实名认证结果的实名认证请求,可以在48小时之内查询结果,如果48小时之内无法查询到结果,请联原创 2021-05-13 11:28:08 · 1328 阅读 · 0 评论 -
linux上想查看服务器的对外IP
用CURL访问这个地址:curl ip.sb直接返回的就是外网IP,今天加备案IP白名单的时候,始终报错说IP错误,结果查看后发现IP完全不一样。原创 2021-04-19 14:57:20 · 1032 阅读 · 0 评论 -
scp拷贝带端口的情况
scp -P port srcfile username@address:destpath重要事情说三遍:-P是大写,小写无用-P是大写,小写无用-P是大写,小写无用原创 2021-04-15 10:44:35 · 373 阅读 · 0 评论 -
用Node.JS和Think.JS实现的中宣部防沉迷实名认证系统
开发接口文档巨坑。很多坑是明显的错误。现在实现了这个代码,贴在下面。有兴趣的自己下载去试试。const Base = require('./base.js');const crypto = require('crypto');const urllib = require('urllib');module.exports = class extends Base { aes_encrypt(message, key) { // AES 128 GCM Mod原创 2021-04-13 14:35:51 · 796 阅读 · 1 评论 -
MYSQL初始化
最近要用到MYSQL,到官网去下载包,但是突然发现官网没有再提供安装程序了 ,只有自己手动初始化,初始化过程如下,记录一下:首先,通过Administrator运行CMD,进入MySQL的bin目录:执行语句:mysqld --initialize --console,这时会在控制台输出一个临时密码,把它复制下来。接着执行:mysqld install,安装mysql的服务,如果不是以A...原创 2020-04-03 11:18:36 · 380 阅读 · 0 评论 -
IPV4的C++代码如何升迁到IPV6,以及如何优雅的进行IPV4,IPV6兼容性编码
如果单纯的从代码角度来看,IPV4和IPV6的变化基本不大,主要是围绕着sockaddr系列结构体的变化,API层面基本没变化,变化最大的就是将字符串解析成地址结构体的那几个函数,为了解析字符串中的IPV4地址,IPV4使用 inet_addr()函数,在升级之后,更改为inet_pton函数,这个函数除了地址字符串,还需要指定IP协议版本,另外,对域名的解析也有变化,IPV4使用gethostb...原创 2020-02-24 15:07:33 · 892 阅读 · 0 评论 -
IOCP在实际项目中应用的小技巧
Windows下,IOCP 本身是很优秀的网络IO模型,但是,如果用的不好,反而会降低效率。有几点,大家如果稍微注意一下,会取得更好的效果。简单的说几点:1)IOCP 线程的个数,微软给出来的CPU个数×2+2的算法并不好,实际上( CPU个数+3 ) × 2 / 2 效果更好。2)IOCP 线程的优先级最好设置为Blow Normal。呵呵,这一点很多人都想不到吧。低一点的线程优先级原创 2013-01-12 21:49:11 · 521 阅读 · 0 评论