教你如何在 Windows 下让崩溃的 Python 程序自重启

我们用Python定时跑一些自动化程序的时候会出现程序崩溃的情况。此时如果你本人不在电脑面前,或者没有留意到程序的崩溃,没有及时重新拉起程序,会造成或大或小的损失。

本文将教你如何在 Windows 下使用 Supervisor 重新拉起崩溃的Python程序。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

(可选2) 此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南

请选择以下任一种方式输入命令安装依赖
1. Windows 环境 打开 Cmd (开始-运行-CMD)。
2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

pip install supervisor-win

如果你出现 “DLL load failed: 找不到指定的程序” 的报错,请重新安装pywin32:

pip install pywin32==223

2.编写自重启配置

接下来,你需要编写一个让你的Python程序自动运行,遇到报错自动重启的配置:

[program:cancel]
command=G:\\Anaconda3\\envs\\tdx_easytrader\\python.exe D://CODE//tdx_easytrader//dataserver.py
    
[supervisord]
nodaemon=true

[supervisorctl]

前两行就是你的程序运行命令,在上面的例子中,program: 后面的关键词是你自定义的程序名,我的Python位于: 

G:\Anaconda3\envs\tdx_easytrader\python.exe

我想要自重启的脚本位于:

D://CODE//tdx_easytrader//dataserver.py

此外,后面的三行是必须配置的,按我的默认写法即可。

编写完成后将配置命名为 supervisord.conf 保存于任何地方,可以是项目目录下,也可以是一个重要的配置目录文件夹。

然后执行以下命令启动 supervisord:

supervisord -c D:\CODE\tdx_easytrader\supervisord.conf

注意 -c 参数后就是你的 supervisord.conf 的绝对路径。启动完毕显示:

2022-06-27 19:58:54,809 INFO process group added: 'cancel'
2022-06-27 19:58:54,810 INFO supervisord started with pid 28472
2022-06-27 19:58:54,815 INFO Spawned: 'cancel' with pid 27220
2022-06-27 19:58:55,830 INFO success: cancel entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

意思是,supervisord 进程已经启动,pid为28472。我命名为cancel的Python进程也已经启动,pid为27220。我们在任务管理器中可以查看到这两个进程:

e5c24d18776724be2ec1fb2a09ef373a.png

3.测试

接下来我们测试一下它能否自动重启,让我们强杀 27220 这个进程,观察终端输出:

2022-06-27 19:58:54,815 INFO Spawned: 'cancel' with pid 27220
2022-06-27 19:58:55,830 INFO success: cancel entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-06-27 20:02:58,077 INFO exited: cancel (exit status 1; not expected)
2022-06-27 20:02:58,590 INFO Spawned: 'cancel' with pid 16640
2022-06-27 20:02:59,603 INFO success: cancel entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

可以看到, 20:02:58秒的时候 cancel 程序意外退出(exit status 1; not expected),然后supervisord重新帮我们拉起了一个cancel程序,pid为16640:

8caa6df4fe60e640b6309320d28d9099.png

测试成功,程序成功自重启。

Supervisor不仅会把日志输出到终端中,在你运行命令的目录中,它还会生成supervisord.log, 这里面也保存了所有运行日志:

09fa9c56e2545924c9e75831de4c9416.png

当然,在上方我们supervisord的配置里,你也能配置日志输出位置、最大大小、分片数量等:

[supervisord]
logfile = /tmp/supervisord.log
logfile_maxbytes = 50MB
logfile_backups=10
loglevel = info
pidfile = /tmp/supervisord.pid

Supervisord 还有许多其他的功能,有兴趣的同学可以访问他们官网查询:

http://supervisord.org/introduction.html

我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注Python实用宝典。

有任何问题,可以在公众号后台回复:加群,回答相应红字验证信息,进入互助群询问。

原创不易,希望你能在下面点个赞和在看支持我继续创作,谢谢!

点击下方阅读原文可获得更好的阅读体验

Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

5f3bb57262ab2a006809d1a594758263.png

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录<br><br>前言<br>1. 一般信息<br>1.1. 关于本手册<br>1.2. 本手册采用的惯例<br>1.3. MySQL AB概述<br>1.4. MySQL数据库管理系统概述<br>1.4.1. MySQL的历史<br>1.4.2. MySQL的的主要特性<br>1.4.3. MySQL稳定性<br>1.4.4. MySQL表最大能达到多少<br>1.4.5. 2000年兼容性<br>1.5. MaxDB数据库管理系统概述<br>1.5.1. 什么是MaxDB?<br>1.5.2. MaxDB的历史<br>1.5.3. MaxDB的特性<br>1.5.4. 许可和支持<br>1.5.5. MaxDB和MySQL之间的特性差异<br>1.5.6. MaxDB和MySQL之间的协同性<br>1.5.7. 与MaxDB有关的链接<br>1.6. MySQL发展大事记<br>1.6.1. MySQL 5.1的新特性<br>1.7. MySQL信息源<br>1.7.1. MySQL邮件列表<br>1.7.2. IRC(在线聊天系统)上的MySQL社区支持<br>1.7.3. MySQL论坛上的MySQL社区支持<br>1.8. MySQL标准的兼容性<br>1.8.1. MySQL遵从的标准是什么<br>1.8.2. 选择SQL模式<br>1.8.3. 在ANSI模式下运行MySQL<br>1.8.4. MySQL对标准SQL的扩展<br>1.8.5. MySQL与标准SQL的差别<br>1.8.6. MySQL处理约束的方式<br>2. 安装MySQL<br>2.1. 一般安装问题<br>2.1.1. MySQL支持的操作系统<br>2.1.2. 选择要安装的MySQL分发版<br>2.1.3. 怎样获得MySQL<br>2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性<br>2.1.5. 安装布局<br>2.2. 使用二进制分发版的标准MySQL安装<br>2.3. 在Windows上安装MySQL<br>2.3.1. Windows系统要求<br>2.3.2. 选择安装软件包<br>2.3.3. 用自动安装器安装MySQL<br>2.3.4. 使用MySQL安装向导<br>2.3.5. 使用配置向导<br>2.3.6. 通过非安装Zip文件安装MySQL<br>2.3.7. 提取安装档案文件<br>2.3.8. 创建选项文件<br>2.3.9. 选择MySQL服务器类型<br>2.3.10. 首次启动服务器<br>2.3.11. 从Windows命令行启动MySQL<br>2.3.12. 以Windows服务方式启动MySQL<br>2.3.13. 测试MySQL安装<br>2.3.14. 在Windows环境下对MySQL安装的故障诊断与排除<br>2.3.15. 在Windows下升级MySQL<br>2.3.16. Windows版MySQL同Unix版MySQL对比<br>2.4. 在Linux下安装MySQL<br>2.5.在Mac OS X中安装MySQL<br>2.6. 在NetWare中安装MySQL<br>2.7. 在其它类Unix系统中安装MySQL<br>2.8. 使用源码分发版安装MySQL<br>2.8.1. 源码安装概述<br>2.8.2. 典型配置选项<br>2.8.3. 从开发源码树安装<br>2.8.4. 处理MySQL编译问题<br>2.8.5. MIT-pthreads注意事项<br>2.8.6. 在Windows下从源码安装MySQL<br>2.8.7. 在Windows下编译MySQL客户端<br>2.9. 安装后的设置和测试<br>2.9.1. Windows下安装后的过程<br>2.9.2. Unix下安装后的过程<br>2.9.3. 使初始MySQL账户安全<br>2.10. 升级MySQL<br>2.10.1. 从5.0版升级<br>2.10.2. 升级授权表<br>2.10.3. 将MySQL数据库拷贝到另一台机器<br>2.11. 降级MySQL<br>2.12. 具体操作系统相关的注意事项<br>2.12.1. Linux注意事项<br>2.12.2. Mac OS X注意事项<br>2.12.3. Solaris注意事项<br>2.12.4. BSD注意事项<br>2.12.5. 其它Unix注意事项<br>2.12.6. OS/2注意事项<br>2.13. Perl安装注意事项<br>2.13.1. 在Unix中安装Perl<br>2.13.2. 在Windows下安装ActiveState Perl<br>2.13.3. 使用Perl DBI/DBD接口的问题<br>3. 程<br>3.1. 连接与断开服务器<br>3.2. 输入查询<br>3.3. 创建并使用数据库<br>3.3.1. 创建并选择数据库<br>3.3.2. 创建表<br>3.3.3. 将数据装入表中<br>3.3.4. 从表检索信息<br>3.4. 获得数据库和表的信息<br>3.5. 在批处理模式下使用mysql<br>3.6. 常用查询的例子<br>3.6.1. 列的最大值<br>3.6.2. 拥有某个列的最大值的行<br>3.6.3. 列的最大值:按组<br>3.6.4. 拥有某个字段的组间最大值的行<br>3.6.5. 使用用户变量<br>3.6.6. 使用外键<br>3.6.7. 根据两个键搜索<br>3.6.8. 根据天计算访问量<br>3.6.9. 使用AUTO_INCREMENT<br>3.7. 孪生项目的查询<br>3.7.1. 查找所有未分发的孪生项<br>3.7.2. 显示孪生对状态的表<br>3.8. 与Apache一起使用MySQL<br>4. MySQL程序概述<br>4.1. MySQL程序概述<br>4.2. 调用MySQL程序<br>4.3. 指定程序选项<br>4.3.1. 在命令行上使用选项<br>4.3.2. 使用选项文件<br>4.3.3. 用环境变量指定选项<br>4.3.4. 使用选项设置程序变量<br>5. 数据库管理<br>5.1. MySQL服务器和服务器启动脚本<br>5.1.1. 服务器端脚本和实用工具概述<br>5.1.2. mysqld-max扩展MySQL服务器<br>5.1.3. mysqld_safe:MySQL服务器启动脚本<br>5.1.4. mysql.server:MySQL服务器启动脚本<br>5.1.5. mysqld_multi:管理多个MySQL服务器的程序<br>5.2. mysqlmanager:MySQL实例管理器<br>5.2.1. 用MySQL实例管理器启动MySQL服务器<br>5.2.2. 连接到MySQL实例管理器并创建用户账户<br>5.2.3. MySQL实例管理器命令行选项<br>5.2.4. MySQL实例管理器配置文件<br>5.2.5. MySQL实例管理器识别的命令<br>5.3. mysqld:MySQL服务器<br>5.3.1. mysqld命令行选项<br>5.3.2. SQL服务器模式<br>5.3.3. 服务器系统变量<br>5.3.4. 服务器状态变量<br>5.4. mysql_fix_privilege_tables:升级MySQL系统表<br>5.5. MySQL服务器关机进程<br>5.6. 一般安全问题<br>5.6.1. 通用安全指南<br>5.6.2. 使MySQL在攻击者面前保持安全<br>5.6.3. Mysqld安全相关启动选项<br>5.6.4. LOAD DATA LOCAL安全问题<br>5.7. MySQL访问权限系统<br>5.7.1. 权限系统的作用<br>5.7.2. 权限系统工作原理<br>5.7.3. MySQL提供的权限<br>5.7.4. 与MySQL服务器连接<br>5.7.5. 访问控制, 阶段1:连接核实<br>5.7.6. 访问控制, 阶段2:请求核实<br>5.7.7. 权限更改何时生效<br>5.7.8. 拒绝访问错误的原因<br>5.7.9. MySQL 4.1中的密码哈希处理<br>5.8. MySQL用户账户管理<br>5.8.1. MySQL用户名和密码<br>5.8.2. 向MySQL增加新用户账户<br>5.8.3. 从MySQL删除用户账户<br>5.8.4. 限制账户资源<br>5.8.5. 设置账户密码<br>5.8.6. 使你的密码安全<br>5.8.7. 使用安全连接<br>5.9. 备份与恢复<br>5.9.1. 数据库备份<br>5.9.2. 示例用备份与恢复策略<br>5.9.3. 自动恢复<br>5.9.4. 表维护和崩溃恢复<br>5.9.5. myisamchk:MyISAM表维护实用工具<br>5.9.6. 建立表维护计划<br>5.9.7. 获取关于表的信息<br>5.10. MySQL本地化和国际应用<br>5.10.1. 数据和排序用字符集<br>5.10.2. 设置错误消息语言<br>5.10.3. 添加新的字符集<br>5.10.4. 字符定义数组<br>5.10.5. 字符串比较支持<br>5.10.6. 多字节字符支持<br>5.10.7. 字符集问题<br>5.10.8. MySQL服务器时区支持<br>5.11. MySQL日志文件<br>5.11.1. 错误日志<br>5.11.2. 通用查询日志<br>5.11.3. 二进制日志<br>5.11.4. 慢速查询日志<br>5.11.5. 日志文件维护<br>5.12. 在同一台机器上运行多个MySQL服务器<br>5.12.1. 在Windows下运行多个服务器<br>5.12.2. 在Unix中运行多个服务器<br>5.12.3. 在多服务器环境中使用客户端程序<br>5.13. MySQL查询高速缓冲<br>5.13.1. 查询高速缓冲如何工作<br>5.13.2. 查询高速缓冲SELECT选项<br>5.13.3. 查询高速缓冲配置<br>5.13.4. 查询高速缓冲状态和维护<br>6. MySQL中的复制<br>6.1. 复制介绍<br>6.2. 复制实施概述<br>6.3. 复制实施细节<br>6.3.1. 复制主线程状态<br>6.3.2. 复制从I/O线程状态<br>6.3.3. 复制从SQL线程状态<br>6.3.4. 复制传递和状态文件<br>6.4. 如何设置复制<br>6.5. 不同MySQL版本之间的复制兼容性<br>6.6. 升级复制设置<br>6.6.1. 将复制升级到5.0版<br>6.7. 复制特性和已知问题<br>6.8. 复制启动选项<br>6.9. 复制FAQ<br>6.10. 复制故障诊断与排除<br>6.11. 通报复制缺陷<br>6.12. 多服务器复制中的Auto-Increment<br>7. 优化<br>7.1. 优化概述<br>7.1.1. MySQL设计局限与折衷<br>7.1.2. 为可移植性设计应用程序<br>7.1.3. 我们已将MySQL用在何处?<br>7.1.4. MySQL基准套件<br>7.1.5. 使用自己的基准<br>7.2. 优化SELECT语句和其它查询<br>7.2.1. EXPLAIN语法(获取SELECT相关信息)<br>7.2.2. 估计查询性能<br>7.2.3. SELECT查询的速度<br>7.2.4. MySQL怎样优化WHERE子句<br>7.2.5. 范围优化<br>7.2.6. 索引合并优化<br>7.2.7. MySQL如何优化IS NULL<br>7.2.8. MySQL如何优化DISTINCT<br>7.2.9. MySQL如何优化LEFT JOIN和RIGHT JOIN<br>7.2.10. MySQL如何优化嵌套Join<br>7.2.11. MySQL如何简化外部联合<br>7.2.12. MySQL如何优化ORDER BY<br>7.2.13. MySQL如何优化GROUP BY<br>7.2.14. MySQL如何优化LIMIT<br>7.2.15. 如何避免表扫描<br>7.2.16. INSERT语句的速度<br>7.2.17. UPDATE语句的速度<br>7.2.18. DELETE语句的速度<br>7.2.19. 其它优化技巧<br>7.3. 锁定事宜<br>7.3.1. 锁定方法<br>7.3.2. 表锁定事宜<br>7.4. 优化数据库结构<br>7.4.1. 设计选择<br>7.4.2. 使你的数据尽可能小<br>7.4.3. 列索引<br>7.4.4. 多列索引<br>7.4.5. MySQL如何使用索引<br>7.4.6. MyISAM键高速缓冲<br>7.4.7. MyISAM索引统计集合<br>7.4.8. MySQL如何计算打开的表<br>7.4.9. MySQL如何打开和关闭表<br>7.4.10. 在同一个数据库中创建多个表的缺陷<br>7.5. 优化MySQL服务器<br>7.5.1. 系统因素和启动参数的调节<br>7.5.2. 调节服务器参数<br>7.5.3. 控制查询优化器的性能<br>7.5.4. 编译和链接怎样影响MySQL的速度<br>7.5.5. MySQL如何使用内存<br>7.5.6. MySQL如何使用DNS<br>7.6. 磁盘事宜<br>7.6.1. 使用符号链接<br>8. 客户端和实用工具程序<br>8.1. 客户端脚本和实用工具概述<br>8.2. myisampack:生成压缩、只读MyISAM表<br>8.3. mysql:MySQL命令行工具<br>8.3.1. 选项<br>8.3.2. mysql命令<br>8.3.3. 怎样从文本文件执行SQL语句<br>8.3.4. mysql技巧<br>8.4. mysqlaccess:用于检查访问权限的客户端<br>8.5. mysqladmin:用于管理MySQL服务器的客户端<br>8.6. mysqlbinlog:用于处理二进制日志文件的实用工具<br>8.7. mysqlcheck:表维护和维修程序<br>8.8. mysqldump:数据库备份程序<br>8.9. mysqlhotcopy:数据库备份程序<br>8.10. mysqlimport:数据导入程序<br>8.11. mysqlshow-显示数据库、表和列信息<br>8.12. myisamlog:显示MyISAM日志文件内容<br>8.13. perror:解释错误代码<br>8.14. replace:字符串替换实用工具<br>8.15. mysql_zap:杀死符合某一模式的进程<br>9. 语言结构<br>9.1. 文字值<br>9.1.1. 字符串<br>9.1.2. 数值<br>9.1.3. 十六进制值<br>9.1.4. 布尔值<br>9.1.5. 位字段值<br>9.1.6. NULL值<br>9.2. 数据库、表、索引、列和别名<br>9.2.1. 识别符限制条件<br>9.2.2. 识别符大小写敏感性<br>9.3. 用户变量<br>9.4. 系统变量<br>9.4.1. 结构式系统变量<br>9.5. 注释语法<br>9.6. MySQL中保留字的处理<br>10. 字符集支持<br>10.1. 常规字符集和校对<br>10.2. MySQL中的字符集和校对<br>10.3. 确定默认字符集和校对<br>10.3.1. 服务器字符集和校对<br>10.3.2. 数据库字符集和校对<br>10.3.3. 表字符集和校对<br>10.3.4. 列字符集和校对<br>10.3.5. 字符集和校对分配示例<br>10.3.6. 连接字符集和校对<br>10.3.7. 字符串文字字符集和校对<br>10.3.8. 在SQL语句中使用COLLATE<br>10.3.9. COLLATE子句优先<br>10.3.10. BINARY操作符<br>10.3.11. 校对确定较为复杂的一些特殊情况<br>10.3.12. 校对必须适合字符集<br>10.3.13. 校对效果的示例<br>10.4. 字符集支持影响到的操作<br>10.4.1. 结果字符串<br>10.4.2. CONVERT()<br>10.4.3. CAST()<br>10.4.4. SHOW语句<br>10.5. Unicode支持<br>10.6. 用于元数据的UTF8<br>10.7. 与其它DBMS的兼容性<br>10.8. 新字符集配置文件格式<br>10.9. 国家特有字符集<br>10.10. MySQL支持的字符集和校对<br>10.10.1. Unicode字符集<br>10.10.2. 西欧字符集<br>10.10.3. 中欧字符集<br>10.10.4. 南欧与中东字符集<br>10.10.5. 波罗的海字符集<br>10.10.6. 西里尔字符集<br>10.10.7. 亚洲字符集<br>11. 列类型<br>11.1. 列类型概述<br>11.1.1. 数值类型概述<br>11.1.2. 日期和时间类型概述<br>11.1.3. 字符串类型概述<br>11.2. 数值类型<br>11.3. 日期和时间类型<br>11.3.1. DATETIME、DATE和TIMESTAMP类型<br>11.3.2. TIME类型<br>11.3.3. YEAR类型<br>11.3.4. Y2K事宜和日期类型<br>11.4. String类型<br>11.4.1. CHAR和VARCHAR类型<br>11.4.2. BINARY和VARBINARY类型<br>11.4.3. BLOB和TEXT类型<br>11.4.4. ENUM类型<br>11.4.5. SET类型<br>11.5. 列类型存储需求<br>11.6. 选择正确的列类型<br>11.7. 使用来自其他数据库引擎的列类型<br>12. 函数和操作符<br>12.1. 操作符<br>12.1.1. 操作符优先级<br>12.1.2. 圆括号<br>12.1.3. 比较函数和操作符<br>12.1.4. 逻辑操作符<br>12.2. 控制流程函数<br>12.3. 字符串函数<br>12.3.1. 字符串比较函数<br>12.4. 数值函数<br>12.4.1. 算术操作符<br>12.4.2. 数学函数<br>12.5. 日期和时间函数<br>12.6. MySQL使用什么日历?<br>12.7. 全文搜索功能<br>12.7.1. 布尔全文搜索<br>12.7.2. 全文搜索带查询扩展<br>12.7.3. 全文停止字<br>12.7.4. 全文限定条件<br>12.7.5. 微调MySQL全文搜索<br>12.8. Cast函数和操作符<br>12.9. 其他函数<br>12.9.1. 位函数<br>12.9.2. 加密函数<br>12.9.3. 信息函数<br>12.9.4. 其他函数<br>12.10. 与GROUP BY子句同时使用的函数和修改程序<br>12.10.1. GROUP BY(聚合)函数<br>12.10.2. GROUP BY修改程序<br>12.10.3. 具有隐含字段的GROUP BY<br>13. SQL语句语法<br>13.1. 数据定义语句<br>13.1.1. ALTER DATABASE语法<br>13.1.2. ALTER TABLE语法<br>13.1.3. CREATE DATABASE语法<br>13.1.4. CREATE INDEX语法<br>13.1.5. CREATE TABLE语法<br>13.1.6. DROP DATABASE语法<br>13.1.7. DROP INDEX语法<br>13.1.8. DROP TABLE语法<br>13.1.9. RENAME TABLE语法<br>13.2. 数据操作语句<br>13.2.1. DELETE语法<br>13.2.2. DO语法<br>13.2.3. HANDLER语法<br>13.2.4. INSERT语法<br>13.2.5. LOAD DATA INFILE语法<br>13.2.6. REPLACE语法<br>13.2.7. SELECT语法<br>13.2.8. Subquery语法<br>13.2.9. TRUNCATE语法<br>13.2.10. UPDATE语法<br>13.3. MySQL实用工具语句<br>13.3.1. DESCRIBE语法(获取有关列的信息)<br>13.3.2. USE语法<br>13.4. MySQL事务处理和锁定语句<br>13.4.1. START TRANSACTION, COMMIT和ROLLBACK语法<br>13.4.2. 不能回滚的语句<br>13.4.3. 会造成隐式提交的语句<br>13.4.4. SAVEPOINT和ROLLBACK TO SAVEPOINT语法<br>13.4.5. LOCK TABLES和UNLOCK TABLES语法<br>13.4.6. SET TRANSACTION语法<br>13.4.7. XA事务<br>13.5. 数据库管理语句<br>13.5.1. 账户管理语句<br>13.5.2. 表维护语句<br>13.5.3. SET语法<br>13.5.4. SHOW语法<br>13.5.5. 其它管理语句<br>13.6. 复制语句<br>13.6.1. 用于控制主服务器的SQL语句<br>13.6.2. 用于控制从服务器的SQL语句<br>13.7. 用于预处理语句的SQL语法<br>14. 插件式存储引擎体系结构<br>14.1. 前言<br>14.2. 概述<br>14.3. 公共MySQL数据库服务器层<br>14.4. 选择存储引擎<br>14.5. 将存储引擎指定给表<br>14.6. 存储引擎和事务<br>14.7. 插入存储引擎<br>14.8. 拔出存储引擎<br>14.9. 插件式存储器的安全含义<br>15. 存储引擎和表类型<br>15.1. MyISAM存储引擎<br>15.1.1. MyISAM启动选项<br>15.1.2. 键所需的空间<br>15.1.3. MyISAM表的存储格式<br>15.1.4. MyISAM表方面的问题<br>15.2. InnoDB存储引擎<br>15.2.1. InnoDB概述<br>15.2.2. InnoDB联系信息<br>15.2.3. InnoDB配置<br>15.2.4. InnoDB启动选项<br>15.2.5. 创建InnoDB表空间<br>15.2.6. 创建InnoDB表<br>15.2.7. 添加和删除InnoDB数据和日志文件<br>15.2.8. InnoDB数据库的备份和恢复<br>15.2.9. 将InnoDB数据库移到另一台机器上<br>15.2.10. InnoDB事务模型和锁定<br>15.2.11. InnoDB性能调节提示<br>15.2.12. 多版本的实施<br>15.2.13. 表和索引结构<br>15.2.14. 文件空间管理和磁盘I/O<br>15.2.15. InnoDB错误处理<br>15.2.16. 对InnoDB表的限制<br>15.2.17. InnoDB故障诊断与排除<br>15.3. MERGE存储引擎<br>15.3.1. MERGE表方面的问题<br>15.4. MEMORY (HEAP)存储引擎<br>15.5. BDB (BerkeleyDB)存储引擎<br>15.5.1. BDB支持的操作系统<br>15.5.2. 安装BDB<br>15.5.3. BDB启动选项<br>15.5.4. BDB表的特性<br>15.5.5. 修改BDB所需的事宜<br>15.5.6. 对BDB表的限制<br>15.5.7. 使用BDB表时可能出现的错误<br>15.6. EXAMPLE存储引擎<br>15.7. FEDERATED存储引擎<br>15.7.1. 安装FEDERATED存储引擎<br>15.7.2. FEDERATED存储引擎介绍<br>15.7.3. 如何使用FEDERATED表<br>15.7.4. FEDERATED存储引擎的局限性<br>15.8. ARCHIVE存储引擎<br>15.9. CSV存储引擎<br>15.10. BLACKHOLE存储引擎<br>16. 编写自定义存储引擎<br>16.1. 前言<br>16.2. 概述<br>16.3. 创建存储引擎源文件<br>16.4. 创建handlerton<br>16.5. 对处理程序进行实例化处理<br>16.6. 定义表扩展<br>16.7. 创建表<br>16.8. 打开表<br>16.9. 实施基本的表扫描功能<br>16.9.1. 实施store_lock()函数<br>16.9.2. 实施external_lock()函数<br>16.9.3. 实施rnd_init()函数<br>16.9.4. 实施info()函数<br>16.9.5. 实施extra()函数<br>16.9.6. 实施rnd_next()函数<br>16.10. 关闭表<br>16.11. 为存储引擎添加对INSERT的支持<br>16.12. 为存储引擎添加对UPDATE的支持<br>16.13. 为存储引擎添加对DELETE的支持<br>16.14. API引用<br>16.14.1. bas_ext<br>16.14.2. close<br>16.14.3. create<br>16.14.4. delete_row<br>16.14.5. delete_table<br>16.14.6. external_lock<br>16.14.7. extra<br>16.14.8. info<br>16.14.9. open<br>16.14.10. rnd_init<br>16.14.11. rnd_next<br>16.14.12. store_lock<br>16.14.13. update_row<br>16.14.14. write_row<br>17. MySQL簇<br>17.1. MySQL簇概述<br>17.2. MySQL簇的基本概念<br>17.3. 多计算机的简单基础知识<br>17.3.1. 硬件、软件和联网<br>17.3.2. 安装<br>17.3.3. 配置<br>17.3.4. 首次启动<br>17.3.5. 加载示例数据并执行查询<br>17.3.6. 安全关闭和重启<br>17.4. MySQL簇的配置<br>17.4.1. 从源码创建MySQL簇<br>17.4.2. 安装软件<br>17.4.3. MySQL簇的快速测试设置<br>17.4.4. 配置文件<br>17.5. MySQL簇中的进程管理<br>17.5.1. 用于MySQL簇的MySQL服务器进程使用<br>17.5.2. ndbd,存储引擎节点进程<br>17.5.3. ndb_mgmd,“管理服务器”进程<br>17.5.4. ndb_mgm,“管理客户端”进程<br>17.5.5. 用于MySQL簇进程的命令选项<br>17.6. MySQL簇的管理<br>17.6.1. MySQL簇的启动阶段<br>17.6.2. “管理客户端”中的命令<br>17.6.3. MySQL簇中生成的事件报告<br>17.6.4. 单用户模式<br>17.6.5. MySQL簇的联机备份<br>17.7. 使用与MySQL簇的高速互连<br>17.7.1. 配置MySQL簇以使用SCI套接字<br>17.7.2. 理解簇互连的影响<br>17.8. MySQL簇的已知限制<br>17.9. MySQL簇发展的重要历程<br>17.9.1. MySQL 5.0中的MySQL簇变化<br>17.9.2. 关于MySQL簇的MySQL 5.1发展历程<br>17.10. MySQL簇常见问题解答<br>17.11. MySQL簇术语表<br>18. 分区<br>18.1. MySQL中的分区概述<br>18.2. 分区类型<br>18.2.1. RANGE分区<br>18.2.2. LIST分区<br>18.2.3. HASH分区<br>18.2.4. KEY分区<br>18.2.5. 子分区<br>18.2.6. MySQL分区处理NULL值的方式<br>18.3. 分区管理<br>18.3.1. RANGE和LIST分区的管理<br>18.3.2. HASH和KEY分区的管理<br>18.3.3. 分区维护<br>18.3.4. 获取关于分区的信息<br>19. MySQL中的空间扩展<br>19.1. 前言<br>19.2. OpenGIS几何模型<br>19.2.1. Geometry类的层次<br>19.2.2. 类Geometry<br>19.2.3. 类Point<br>19.2.4. 类Curve<br>19.2.5. 类LineString<br>19.2.6. 类Surface<br>19.2.7. 类Polygon<br>19.2.8. 类GeometryCollection<br>19.2.9. 类MultiPoint<br>19.2.10. 类MultiCurve<br>19.2.11. 类MultiLineString<br>19.2.12. 类MultiSurface<br>19.2.13. 类MultiPolygon<br>19.3. 支持的空间数据格式<br>19.3.1. 著名的文本(WKT)格式<br>19.3.2. 著名的二进制(WKB)格式<br>19.4. 创建具备空间功能的MySQL数据库<br>19.4.1. MySQL空间数据类型<br>19.4.2. 创建空间值<br>19.4.3. 创建空间列<br>19.4.4. 填充空间列<br>19.4.5. 获取空间数据<br>19.5. 分析空间信息<br>19.5.1. Geometry格式转换函数<br>19.5.2. Geometry函数<br>19.5.3. 从已有Geometry创建新Geometry的函数<br>19.5.4. 测试几何对象间空间关系的函数<br>19.5.5. 关于几何最小边界矩形(MBR)的关系<br>19.5.6. 测试几何类之间空间关系的函数<br>19.6. 优化空间分析<br>19.6.1. 创建空间索引<br>19.6.2. 使用空间索引<br>19.7. MySQL的一致性和兼容性<br>19.7.1. 尚未实施的GIS特性<br>20. 存储程序和函数<br>20.1. 存储程序和授权表<br>20.2. 存储程序的语法<br>20.2.1. CREATE PROCEDURE和CREATE FUNCTION<br>20.2.2. ALTER PROCEDURE和ALTER FUNCTION<br>20.2.3. DROP PROCEDURE和DROP FUNCTION<br>20.2.4. SHOW CREATE PROCEDURE和SHOW CREATE FUNCTION<br>20.2.5. SHOW PROCEDURE STATUS和SHOW FUNCTION STATUS<br>20.2.6. CALL语句<br>20.2.7. BEGIN ... END复合语句<br>20.2.8. DECLARE语句<br>20.2.9. 存储程序中的变量<br>20.2.10. 条件和处理程序<br>20.2.11. 光标<br>20.2.12. 流程控制构造<br>20.3. 存储程序、函数、触发程序和复制:常见问题<br>20.4. 存储子程序和触发程序的二进制日志功能<br>21. 触发程序<br>21.1. CREATE TRIGGER语法<br>21.2. DROP TRIGGER语法<br>21.3. 使用触发程序<br>22. 视图<br>22.1. ALTER VIEW语法<br>22.2. CREATE VIEW语法<br>22.3. DROP VIEW语法<br>22.4. SHOW CREATE VIEW语法<br>23. INFORMATION_SCHEMA信息数据库<br>23.1. INFORMATION_SCHEMA表<br>23.1.1. INFORMATION_SCHEMA SCHEMATA表<br>23.1.2. INFORMATION_SCHEMA TABLES表<br>23.1.3. INFORMATION_SCHEMA COLUMNS表<br>23.1.4. INFORMATION_SCHEMA STATISTICS表<br>23.1.5. INFORMATION_SCHEMA USER_PRIVILEGES表<br>23.1.6. INFORMATION_SCHEMA SCHEMA_PRIVILEGES表<br>23.1.7. INFORMATION_SCHEMA TABLE_PRIVILEGES表<br>23.1.8. INFORMATION_SCHEMA COLUMN_PRIVILEGES表<br>23.1.9. INFORMATION_SCHEMA CHARACTER_SETS表<br>23.1.10. INFORMATION_SCHEMA COLLATIONS表<br>23.1.11. INFORMATION_SCHEMA COLLATION_CHARACTER_SET_APPLICABILITY表<br>23.1.12. INFORMATION_SCHEMA TABLE_CONSTRAINTS表<br>23.1.13. INFORMATION_SCHEMA KEY_COLUMN_USAGE表<br>23.1.14. INFORMATION_SCHEMA ROUTINES表<br>23.1.15. INFORMATION_SCHEMA VIEWS表<br>23.1.16. INFORMATION_SCHEMA TRIGGERS表<br>23.1.17. 其他INFORMATION_SCHEMA表<br>23.2. SHOW语句的扩展<br>24. 精度数学<br>24.1. 数值的类型<br>24.2. DECIMAL数据类型更改<br>24.3. 表达式处理<br>24.4. 四舍五入<br>24.5. 精度数学示例<br>25. API和库<br>25.1. libmysqld,嵌入式MySQL服务器库<br>25.1.1. 嵌入式MySQL服务器库概述<br>25.1.2. 使用libmysqld编译程序<br>25.1.3. 使用嵌入式MySQL服务器时的限制<br>25.1.4. 与嵌入式服务器一起使用的选项<br>25.1.5. 嵌入式服务器中尚需完成的事项(TODO)<br>25.1.6. 嵌入式服务器示例<br>25.1.7. 嵌入式服务器的许可<br>25.2. MySQL C API<br>25.2.1. C API数据类型<br>25.2.2. C API函数概述<br>25.2.3. C API函数描述<br>25.2.4. C API预处理语句<br>25.2.5. C API预处理语句的数据类型<br>25.2.6. C API预处理语句函数概述<br>25.2.7. C API预处理语句函数描述<br>25.2.8. C API预处理语句方面的问题<br>25.2.9. 多查询执行的C API处理<br>25.2.10. 日期和时间值的C API处理<br>25.2.11. C API线程函数介绍<br>25.2.12. C API嵌入式服务器函数介绍<br>25.2.13. 使用C API时的常见问题<br>25.2.14. 创建客户端程序<br>25.2.15. 如何生成线程式客户端<br>25.3. MySQL PHP API<br>25.3.1. 使用MySQL和PHP的常见问题<br>25.4. MySQL Perl API<br>25.5. MySQL C++ API<br>25.5.1. Borland C++<br>25.6. MySQL Python API<br>25.7. MySQL Tcl API<br>25.8. MySQL Eiffel Wrapper<br>25.9. MySQL程序开发实用工具<br>25.9.1. msql2mysql:转换mSQL程序以用于MySQL<br>25.9.2. mysql_config:获取编译客户端的编译选项<br>26. 连接器<br>26.1. MySQL Connector/ODBC<br>26.1.1. MyODBC介绍<br>26.1.2. 关于ODBC和MyODBC的一般信息<br>26.1.3. 如何安装MyODBC<br>26.1.4. 在Windows平台上从二进制版本安装MyODBC<br>26.1.5. I在Unix平台上从二进制版本安装MyODBC <br>26.1.6. 在Windows平台上从源码版本安装MyODBC<br>26.1.7. 在Unix平台上从源码版本安装MyODBC <br>26.1.8. 从BitKeeper开发源码树安装MyODBC<br>26.1.9. MyODBC配置<br>26.1.10. 与MyODBC连接相关的事宜<br>26.1.11. MyODBC和Microsoft Access<br>26.1.12. MyODBC和Microsoft VBA及ASP<br>26.1.13. MyODBC和第三方ODBC工具<br>26.1.14. MyODBC通用功能<br>26.1.15. 基本的MyODBC应用步骤<br>26.1.16. MyODBC API引用<br>26.1.17. MyODBC数据类型<br>26.1.18. MyODBC错误代码<br>26.1.19. MyODBC与VB:ADO、DAO和RDO<br>26.1.20. MyODBC与Microsoft.NET<br>26.1.21. 感谢<br>26.2. MySQL Connector/NET<br>26.2.1. 前言<br>26.2.2. 下载并安装MySQL Connector/NET<br>26.2.3. Connector/NET体系结构<br>26.2.4. 使用MySQL Connector/NET<br>26.2.5. MySQL Connector/NET变更史<br>26.3. MySQL Connector/J<br>26.3.1. 基本的JDBC概念<br>26.3.2. 安装 Connector/J<br>26.3.3. JDBC引用<br>26.3.4. 与J2EE和其他Java框架一起使用 Connector/J<br>26.3.5. 诊断 Connector/J方面的问题<br>26.3.6. Changelog<br>26.4. MySQL Connector/MXJ<br>26.4.1. 前言<br>26.4.2. 支持平台:<br>26.4.3. Junit测试要求<br>26.4.4. 运行Junit测试<br>26.4.5. 作为JDBC驱动程序的一部分运行<br>26.4.6. 在Java对象中运行<br>26.4.7. MysqldResource API<br>26.4.8. 在JMX代理(custom)中运行<br>26.4.9. 部署在标准的JMX代理环境下 (JBoss)<br>26.4.10. 安装<br>27. 扩展MySQL<br>27.1. MySQL内部控件<br>27.1.1. MySQL线程<br>27.1.2. MySQL测试套件<br>27.2. 为MySQL添加新函数<br>27.2.1. 自定义函数接口的特性<br>27.2.2. CREATE FUNCTION/DROP FUNCTION语法<br>27.2.3. 添加新的自定义函数<br>27.2.4. 添加新的固有函数<br>27.3. 为MySQL添加新步骤<br>27.3.1. 步骤分析<br>27.3.2. 编写步骤<br>A. 问题和常见错误<br>A.1. 如何确定导致问题的原因<br>A.2. 使用MySQL程序时的常见错误<br>A.2.1. 拒绝访问<br>A.2.2. 无法连接到[local] MySQL服务器<br>A.2.3. 客户端不支持鉴定协议<br>A.2.4. 输入密码时出现密码错误<br>A.2.5. 主机的host_name被屏蔽<br>A.2.6. 连接数过多<br>A.2.7. 内存溢出<br>A.2.8. MySQL服务器不可用<br>A.2.9. 信息包过大<br>A.2.10. 通信错误和失效连接<br>A.2.11. 表已满<br>A.2.12. 无法创建文件/写入文件<br>A.2.13. 命令不同步<br>A.2.14. 忽略用户<br>A.2.15. 表tbl_name不存在<br>A.2.16. 无法初始化字符集<br>A.2.17. 文件未找到<br>A.3. 与安装有关的事宜<br>A.3.1. 与MySQL客户端库的链接问题<br>A.3.2. 如何以普通用户身份运行MySQL<br>A.3.3. 与文件许可有关的问题<br>A.4. 与管理有关的事宜<br>A.4.1. 如何复位根用户密码<br>A.4.2. 如果MySQL依然崩溃,应作些什么<br>A.4.3. MySQL处理磁盘满的方式<br>A.4.4. MySQL将临时文件储存在哪里<br>A.4.5. 如何保护或更改MySQL套接字文件/tmp/mysql.sock<br>A.4.6. 时区问题<br>A.5. 与查询有关的事宜<br>A.5.1. 搜索中的大小写敏感性<br>A.5.2. 使用DATE列方面的问题<br>A.5.3. 与NULL值有关的问题<br>A.5.4. 与列别名有关的问题<br>A.5.5. 非事务表回滚失败<br>A.5.6. 从相关表删除行<br>A.5.7. 解决与不匹配行有关的问题<br>A.5.8. 与浮点比较有关的问题<br>A.6. 与优化器有关的事宜<br>A.7. 与表定义有关的事宜<br>A.7.1. 与ALTER TABLE有关的问题<br>A.7.2. 如何更改表中的列顺序<br>A.7.3. TEMPORARY TABLE问题<br>A.8. MySQL中的已知事宜<br>A.8.1. MySQL中的打开事宜<br>B. 错误代码和消息<br>B.1. 服务器错误代码和消息<br>B.2. 客户端错误代码和消息<br>C. 感谢<br>C.1. MySQL AB处的开发人<br>C.2. MySQL贡献人<br>C.3. 资料员和译员<br>C.4. MySQL使用和包含的库<br>C.5. 支持MySQL的软件包<br>C.6. 用于创建MySQL的工具<br>C.7. MySQL支持人员<br>D. MySQL变更史<br>D.1. 5.1.x版中的变更情况(开发)<br>D.1.1. 5.1.2版中的变更情况(尚未发布)<br>D.1.2. 5.1.1版中的变更情况(尚未发布)<br>D.2. MyODBC的变更情况<br>D.2.1. MyODBC 3.51.12的变更情况<br>D.2.2. MyODBC 3.51.11的变更情况<br>E. 移植到其他系统<br>E.1. 调试MySQL服务器<br>E.1.1. 针对调试编译MySQL<br>E.1.2. 创建跟踪文件<br>E.1.3. 在gdb环境下调试mysqld<br>E.1.4. 使用堆栈跟踪<br>E.1.5. 使用日志文件找出mysqld中的错误原因<br>E.1.6. 如果出现表崩溃,请生成测试案例<br>E.2. 调试MySQL客户端<br>E.3. DBUG软件包<br>E.4. 关于RTS线程的注释<br>E.5. 线程软件包之间的差异<br>F. 环境变量<br>G. MySQL正则表达式<br>H. MySQL中的限制<br>H.1. 联合的限制<br>I. 特性限制<br>I.1. 对存储子程序和触发程序的限制<br>I.2. 对服务器端光标的限制<br>I.3. 对子查询的限制<br>I.4. 对视图的限制<br>I.5. 对XA事务的限制<br>J. GNU通用公共许可<br>K. MySQL FLOSS许可例外<br>索引<br>图形清单<br><br>14.1. MySQL插件式存储引擎的体系结构<br>14.2. 存储引擎比较<br>16.1. MySQL体系结构<br>表格清单<br><br>26.1. 连接属性<br>26.2. 转换表<br>26.3. 用于ResultSet.getObject()的MySQL类型和Java类型<br>26.4. MySQL对Java编码名称的翻译<br>示例清单<br><br>26.1. 从DriverManager获得连接<br>26.2. 使用java.sql.Statement执行SELECT查询<br>26.3. 存储程序示例<br>26.4. 使用Connection.prepareCall()<br>26.5. 注册输出参数<br>26.6. 设置CallableStatement输入参数<br>26.7. 检索结果和输出参数值<br>26.8. 使用Statement.getGeneratedKeys()检索AUTO_INCREMENT列的值<br>26.9. 使用SELECT LAST_INSERT_ID()检索AUTO_INCREMENT列的值<br>26.10. 在可更新的ResultSets中检索AUTO_INCREMENT列的值<br>26.11. 设置Unix环境下的CLASSPATH<br>26.12. 与J2EE应用服务器一起使用连接池<br>26.13. 重试逻辑的事务示例
一、网狐荣耀版短信验证开发流程说明 现在的很多游戏,都有短信验证登录的功能,特别是国内比较火的网狐棋牌系统,有的甚至直接短信验证码为登录密码,这确实是一个好的思路,保证了密码不被盗。但是,短信验证怎么实现呢?很多开发者有时会出现暂时的迷茫。下面我就把大概的思路告诉大家。一、申请短信通道,国内的短信通道很多,不同的通道速度不一样,我们在申请时要一个基本原则就是速度要快,基本上要发送即接收了,客户不可能等的。国内调查发现,客户等网页打开的时间是最长不超过5秒,短信接收的时间最长不超过10秒。当然,特殊的短信例外,比如银行确认短信等涉及财产安全的短信;二、手机客户端或PC客户端开发出相应的短信验证功能,进行手机号码的接收,接收到手机号码后,直接发送服务器端,这里当然不能客户端集成直接发,那就会被别人利用了。服务器端发送短信。客户接收到短信后就可以进行验证。 二、网狐荣耀版棋牌机器人配置完了不进游戏不上桌 在网狐荣耀版机器人配置中经常遇到机器人配置完了不进游戏,不上桌。这个问题一般是几方面的问题造成的。 一、你的这款游戏是否支持机器人,支持的话就服务器端会有相应的机器人组件。 二、支持机器人,但是机器人组件没在服务器端目录,或没有。 三、这个游戏是否配置了机器人,有时可能是配置错了,好好的详细再查一下吧。 四、机器人数量不够,已经用尽。 五、游戏机器人没有开启。 基本上就这些原因了,每个都要细细的查,这样才能发现问题。 可以咨询q-q457189 三、网狐荣耀版手机端在复制文本时提示“复制内容非法”的解决办法 在网狐荣耀版开发调试过程中,复制文本时,提示“复制非法内容”,开始吓一跳,没有什么非法内容啊?也没有禁词,也没有国家不允许的内容。最后通过程序查看,原来是平台的问题。换安卓、苹果系统就好了。 四、最新出炉的网狐荣耀版机器人添加视频程 最新出炉的网狐荣耀版机器人添加视频程,包括机器人的导入,机器人的分配,机器人的配置,房间的配置等。全方位的讲解了网狐荣耀版机器人的管理添加过程。可以联系我获取下载地址。Q-Q457189 五、网狐荣耀版安卓端的签名与打包 第一、打开ADT,选择file-import,加载荣耀版安卓项目。 第二,右键项目,选择export,进入下图界面,选择android,然后再选择Export Android Application,然后选择下一步,这里默认,再进行下一步。 第三步,这里选择Create new keystore,Location选择存储路径,Passowrd输入签名密码,Confirm确认密码。然后进行下一步 第四步,填写好各个相关信息,注意密码那里和上个页面的一致。其它随便。然后下一步,选择打包APK文件的存储路径。 第五步,点击finish等待程序签名与APK的生成,结束。 六、网狐荣耀版游戏启动时出现“正在初始化组件”启动失败 【 2017-11-10 08:35:33 】[ 游戏 ] 房间参数加载成功 【 2017-11-10 08:35:35 】正在初始化组件... 【 2017-11-10 08:36:41 】服务启动失败 【 2017-11-10 08:36:41 】服务停止成功 这样的问题有两个原因造成 一、开发库是否正确,不正确,重新生成开发库。 二、游戏kindid设置是否正确,不正确修改。 这两个问题解决了,问题就迎刃而解了。 祝你好运。 七、网狐荣耀版"定时器异常:TimerID=2“错误 在网狐荣耀版进行机器人操作或其它操作时,经常会出现"定时器异常:TimerID=2“错误,这个错误怎么处理呢? 这里提示其实已经很明白了,就是定时器错误。 一和运行库有关系,二和操作有关。 八、网狐荣耀版棋牌游戏机器人的添加 在棋牌运营过程中,没有机器人开始是很难运行的,没有人气,那么,网狐荣耀版棋牌游戏怎么添加机器人呢?下面简单说明 加机器人首先要有一些机器人的名字,这些名字可以自己搜集,也可以用网上别人搜集的,比如Q-Q名。然后用脚本一键导入。 用户信息导入后,就可以用机器人工具进行房间的机器人分配了。 九、eclipse加载荣耀版时红叉an outline is not available报错的处理 很多时候这些错误不是程序问题造成,而是环境问题造成。这个主要是第三方的类库与cocos2d-x的支持文件没有加载的原因造成,加载了就可以正常运行了。 十、网狐荣耀版手机端分享时出现“由于不支持的分享类型,无法分享到微信“的解决办法 去腾讯开放平台申请账号,审核通过后,在开放平台添加相应信息,就可以正常分享了。 十一、网狐荣耀版vs生成解决方案时出现“出现未能写入日志,请求的操作无法在使用用户映射区域打开的文件上执行“错误 一、定位文件,看是不是只读。 二、删除文件试一下,看看是不是文件被占用,如果删除不了,就是被占用,可以查是哪个程序占用,不行重启服务器试一下。 三、是不是路径有问题。 十二、网狐荣耀版房卡游戏在手机客户端不出现房卡房间 最近,有个别网友找我,的架设网狐荣耀版游戏时,服务器端开了房卡房间,但是在手机端没有房间显示,更不用谈进入房间了。经查,程序没有问题,相同的源码,相同的环境配置,就是不出现房卡房间,最后我也是无语了。我告诉他,你人品有问题。但是问题还是得查出原因。经过详细的分析研究,最后是他电脑CPU的问题。费了十天的时间,经历了太多的误解与磨难。真不容易。 十三、网狐荣耀版android编译时出现“未找到工程,Android 目标平台版本应该大于或等于 21” 这个是因为sdk版本设置问题造成的,设置正确相应的sdk版本,就可以了。 十四、网狐荣耀版微信登录没有反应失败的解决办法 网狐荣耀版的登录方式有了很大的变化,三种形式:账号登录、游客登陆与微信登陆。在开发与使用网狐棋牌荣耀版时账号登陆与游客登录时基本上都没有什么问题,但是在使用微信登录时会遇到点微信登录没有反应,有反应后进不去等等问题。遇到这样的情况,是因为腾讯开放平台配置问题,注册开放平台,进行客户端相应参数的设置就可以了。 十五、在网狐荣耀版添加房卡游戏时,经常有网友遇到进房卡房间弹出到大厅登录界面 这个问题经常有网友咨询,经过调试,最后确定是开发库不配套的问题。经过更新,重新生成开发库,问题解决。 十六、网狐荣耀版斗地主第三个人进入开始时弹出 网狐荣耀版斗地主第三个人进入开始时弹出,这样的问题经常有网友遇到。 经过问题分析,代码查看,是开发库的问题,解决了开发库问题,就正常了。 十七、网狐荣耀版李奎劈鱼游戏,捕鱼游戏提示“非法组件的解决办法” 在使用网狐荣耀版时,捕鱼进入游戏时提示非法组件,如下图,这个是因为未授权的原因,只要授权就可以了。授权的方法可以联系 十八、网狐荣耀版大厅版本更新出现“下载失败,CODE 7,是否重试?”的错误 网狐荣耀版,有一些客户反应,在大厅版本更新后,客户端下载更新出现了,“下载失败,CODE 7,是否重试?”的错误。这个是一配置的错误问题造成的,修改后台更新配置。 十九、网狐荣耀版棋牌中心服务器显示“服务启动失败”的原因 网狐荣耀版棋牌,在启动中心服务器时,显示“服务启动失败”,如下图。这是因为开发库不配套的问题产生的。更新了开发库,问题解决。 二十、网狐荣耀版手机端登录提示“网络错误:5”解决办法 这是因为服务器端授权问题、内核问题或是手机端的配置问题造成的,请看内核是否为248K的内核,并检查网络模块是否为34.7K的网络模块,如果没有问题请检查手机端相应位置的配置信息。配置一定要细心做好。如果还不行可以 二十一、网狐荣耀版房卡房间分享给好友,好友点击后空白,或没反应的解决办法 最近总遇到网友反应,网狐荣耀版房卡游戏,在创建房间后,邀请好友等操作后。好友点击分享链接没反应或是空白,或是出错。这样的问题,在进行代码修改和相应的设置后,问题解决。 二十二、网狐荣耀版启动游戏时提示“相应的游戏服务组件信息不存在,房间创建失败” 这个是因为游戏的kindid与创建的游戏的kindid不一致造成的,修改游戏的kindid为你的游戏的kindid就可以了。 二十三、网狐荣耀版出现在sys.servers中找不到服务器'rytreasuredblink'。请验证指定的服务器名称是否正确 这个问题是因为数据库是附加的,脚本代码里面的创建链接服务器脚本没有执行,执行一下就好了。Q-Q:457189 二十四、网狐荣耀版系统模块编译出现fatal error c1083:无法打开包含文件“d3d9.h” :no such fil 这个是因为没有把directx sdk添加到项目引用中。加入directx sdk的引用就可以了。Q-Q:457189 二十五、网狐荣耀版苹果端ipa打包流程说明 在网狐荣耀版系统开发,游戏开发,界面cocos和lua开发等过程后,要进行发布和打包。pc端与安卓端相对简单,苹果端的修改、发布与打包成了多数开发者的一个主要问题。下面就说说这个苹果打包的基本过程。 一、环境准备 macos电脑一台,安装xcodes开发工作,同时安装证书服务器与相关软件环境。 二、系统修改 xcodes打开项目工程,进行开发者的配置与发布选项的配置,进行游戏名称与版本号修改等,进行编译,发布等。这里面的游戏开发者最好是企业开发者账号,因为这样就不用上传到苹果商店了。可以随便分发。 三、导出ipa文件,上传到fir.im,蒲公英之类的网站,客户下载就行了。 Q-Q:457189 二十六、网狐荣耀版游戏服务器出现"MDM_GF_GAME 游戏命令返回 false" 网狐荣耀版游戏服务器出现"MDM_GF_GAME 游戏命令返回 false",这是因为游戏客户端数据与服务器端不匹配造成的,修改客户端后,问题解决。 二十七、网狐荣耀版棋牌游戏输赢控制设置 在游戏使用过程中,输赢控制是必不可少的,那怎么怎么进行游戏控制呢?下面简单简介。 一、控制账号的注册。 二、控制客户端的生成。 三、进行控制。 就这三步即可实现控制。 二十八、网狐荣耀版手机端与pc端热更新的配置 手机端的热更新是,首先设置好版本号,然后生成手机端,生成后,把生成的文件全部上传到网站更新目录里面,然后管理后台配置更新目录与版本,就可以了。pc端的更新是上传到相应目录,然后生成更新版本信息。 二十九、网狐荣耀最新版视频程 网狐荣耀最新版视频程,从开始的基础操作,架设,到最后的安卓修改编译,苹果修改编译等。 网狐荣耀版程一认识网狐荣耀版 网狐荣耀版程二环境搭建 网狐荣耀版程三数据库的附加和导入 网狐荣耀版程四网站管理后,台和代,理的搭建 网狐荣耀版程五PC端系统的修改和编译 网狐荣耀版程六服务器端的搭建 网狐荣耀版程七PC客户端的打包 网狐荣耀版程八子游戏的添加 网狐荣耀版程九安卓端的签名 网狐荣耀版程十苹果环境的搭建 网狐荣耀版程十一苹果端ios的修改和打包 网狐荣耀版程十二安卓手机端的修改和编译 网狐荣耀版程十三手机端热更新的配置 在系统的使用与运营过程中,会有很多问题,这些程只要认真学习,都会迎刃而解。当然在解决的过程中也要动脑。 实在解决不了,可以互相沟通Q-Q:457189 三十、网狐荣耀版服务器端启动出现“您的服务器组件没有得到合法授权,服务器将会以受限模式运行” 这个就是因为内核组件没有破解,然后认证没有通过。建议去网狐公司购买正版和正版授权。Q-Q:457189 三十一、网狐荣耀版棋牌程之一开发环境搭建 一、安装JDK1.8,下载jdk1.8,然后双击安装,下一步直到安装完成,安装的时候记住安装目录,我的全部默认安装,目录为C:\Program Files\Java\Jdk1.8。安装完成后,进行环境变量的配置。系统变量中进行JAVA_HOME、CLASSPATH、Path三个变量的配置,有的编辑,没有的新建。新建JAVA_HOME对应C:\Program Files\Java\Jdk1.8、新建CLASSPATH对应.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar、编辑Path的最后加上;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin。最后打开CMD窗口进行测试是否安装成功。 二、把winrar加入环境变量,使winrar可以在命令行下直接运行。;C:\Program Files\WinRAR 三、安装cocos,这里我们使用的是cocos2d-x 3.10,3.10版本,Cocos2d-x与cocos整合升级为Cocos引擎,下载后是exe程序,双击直接安装,很简单。 四、下载自动提示补全词典,我还下载了cocos2dx-3.10-api.lua,把下载的词典放到,我的文档下面的BabeLua\Completion文件夹中,再进入lua项目,输入代码时就有相应的提示了。 五、安装python-2.7.10,双击安装,下一步直到完成,在安装时选择一下目录,我安装到了c盘的python27目录。安装完后进行环境变量的配置。在系统变量的path最后加上;C:\Python27,pyghon安装完成。打开CMD窗口进行测试。 六、安装ant 1.9.6,下载ant 1.9.6,解压,这里我们解压到C盘的ant196目录。然后配置环境变量,没有的项创建,有的项编辑。 ANT_HOME C:\ant196 path C:\ant196\bin classpath C:\ant196\lib 七、安装adt,下载ADT后解压,我们这里解压到C盘的adt-bundle-windows-x86-20140624目录。 运行eclipse,打开help,install new software,名称输入adt_plugin,adt插件的站点为:https://dl-ssl.google.com/android/eclipse/ 将“com.android.ide.eclipse.ndk_23.0.2.1259578.jar”复制到"C:\adt-bundle-windows-x86-20140624\eclipse\plugins\com.android.ide.eclipse.ndk_23.0.2.1259578.jar" 添加环境变量 ANDROID_SDK_ROOT 为:C:\adt-bundle-windows-x86-20140624\sdk; 八、安装NDK 把android-ndk-r10d-windows-x86_64复制到要安装的目录,双击android-ndk-r10d-windows-x86_64进行解压。这里我们解压后的目录为c盘的android-ndk-r10d目录。 启动"C:\adt-bundle-windows-x86-20140624\eclipse\eclipse.exe" 选择菜单栏上的[Window->Perferences->Android->NDK]设置 NDK Loaction 为C:\android-ndk-r10d; 添加环境变量 NDK_ROOT 为:C:\android-ndk-r10d 在环境变量 PATH 下追加 :%NDK_ROOT%; 至此,网狐荣耀版开发环境基本搭建完成。 q-q457189 三十二、网狐荣耀版进入手机客户端显示“获取服务器列表失败,是否重试?” 这个问题有原因有几个,一可能是服务器端的IP连接设置有问题;二是游戏更新有问题。 Q-Q457189 三十三、网狐荣耀版或其它安卓项目出现Application cannot be exported due to the erro 网狐荣耀版或其它安卓项目出现Application cannot be exported due to the error(s) below.错误的处理方法 此错误的意思是你的项目存在编译错误,您必须处理了全部错误才可以进行导出操作。 三十四、网狐荣耀版更新工具更新文件创建失败怎么处理? 三十五、网狐荣耀版大厅里进游戏一闪一闪的进不去,正在检查怎么处理? 三十六、网狐荣耀版服务端启动出现“请注意,您正在使用未被授权的组件,无法启动服务器,请联系深圳网狐科技有限公司!”怎么处理? 三十七、网狐荣耀版开发环境怎么配置? 三十八、网狐荣耀版手机端热更新怎么配置? 三十九、网狐荣耀版进入手机客户端显示“获取服务器列表失败,是否重试?”怎么处理? 四十、网狐荣耀版手机端生成时出现MakeMD5List.exe 应用程序错误的解决办法 这是因为动态链接库版本不对,更新就好了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值