错误码说明
Peergine错误码表
常量标识 | 错误码值 | 说明 |
-1 | 正在异步处理中 | |
PG_ERR_Normal | 0 | 成功 |
PG_ERR_System | 1 | 系统错误 |
PG_ERR_BadParam | 2 | 参数错误 |
PG_ERR_BadClass | 3 | 无效的功能类 |
PG_ERR_BadMethod | 4 | 无效的方法 |
PG_ERR_BadObject | 5 | 无效的对象 |
PG_ERR_BadStatus | 6 | 错误的状态 |
PG_ERR_BadFile | 7 | 无效的文件 |
PG_ERR_BadUser | 8 | 无效的用户 |
PG_ERR_BadPass | 9 | 密码错误 |
PG_ERR_NoLogin | 10 | 未登录 |
PG_ERR_Network | 11 | 网络错误 |
PG_ERR_Timeout | 12 | 操作超时 |
PG_ERR_Reject | 13 | 拒绝访问 |
PG_ERR_Busy | 14 | 系统正忙 |
PG_ERR_Opened | 15 | 资源已经打开 |
PG_ERR_Closed | 16 | 资源已经关闭 |
PG_ERR_Exist | 17 | 资源已经存在 |
PG_ERR_NoExist | 18 | 资源不存在 |
PG_ERR_NoSpace | 19 | 空间或容量限制 |
PG_ERR_BadType | 20 | 无效的类型 |
PG_ERR_CheckErr | 21 | 校验错误 |
PG_ERR_BadServer | 22 | 无效的服务器 |
PG_ERR_BadDomain | 23 | 无效的域 |
PG_ERR_NoData | 24 | 没有数据 |
PG_ERR_Unknown | 255 | 未知错误 |
pgLibLive.h
PG_LIVE_ERROR_E: 错误码定义
typedef enum tagPG_LIVE_ERROR_E {
PG_LIVE_ERROR_OK = 0, // 成功
PG_LIVE_ERROR_INIT = -1, // 没有调用pgLiveInitialize()
// 或者已经调用pgLiveCleanup()清理模块。
PG_LIVE_ERROR_CLOSE = -2, // 会话已经关闭(会话已经不可恢复)。
PG_LIVE_ERROR_BADPARAM = -3, // 传递的参数错误。
PG_LIVE_ERROR_BADRENDER = -4, // 指定的Render不存在。
PG_LIVE_ERROR_NOBUF = -5, // 会话发送缓冲区已满。
PG_LIVE_ERROR_NOSPACE = -6, // 传递的接收缓冲区太小。
PG_LIVE_ERROR_TIMEOUT = -7, // 操作超时。
PG_LIVE_ERROR_BUSY = -8, // 系统正忙。
PG_LIVE_ERROR_NOLOGIN = -9, // 还没有登录到P2P服务器。
PG_LIVE_ERROR_MAXINST = -11, // 最大实例数。
PG_LIVE_ERROR_NOCONNECT = -12, // Render还未建立P2P连接
PG_LIVE_ERROR_BADSTATUS = -13, // 状态不正确
PG_LIVE_ERROR_SYSTEM = -127, // 系统错误。
} PG_LIVE_ERROR_E;
常见错误分析和排除方法
登录超时(返回12)时
登录超时一般是网络问题,主要排查方向是设备的网络连接。设备能不能连接到公共网络。
- Ping 服务器看看是否域名能够正常解析,我们的测试服务器地址是peergine.com ,客户自己搭建服务器后就ping客户本身的服务器域名或者地址。
- 如果能ping通后检测防火墙问题,看是否配置了一些防火墙规则限制了P2P流量。
如果还是不通。请提交问题到我们的讨论群,同时提交日志和描述状态信息,必要时提供远程服务。
- 目前需要排除的是防火墙对P2P的影响,请在设备上使用telnet connect.peergine.com 443 看看是否有反应,请将局域网防火墙关闭试试能不能登录。如果还是不行换台设备试试,或者换个网络试试。
- 在嵌入式系统中,某些shell在输入回车键后在字符串中输入‘\n’或者‘\r’,如果这个时候输入服务器地址的环节直接按回车会导致服务器地址是”\n” ,导致登录超时。这是服务器地址输入错误导致登录超时。
登录用户名错误(返回8)时
一般是无效用户名,排查方向:
- 确认服务器地址是否正确。
- 如果是连接的测试服务器地址,请联系P2P客服人员申请测试ID。
- 如果是连接客户自己的服务器地址,请确认登录使用的用户名和ID是否已经添加到了服务器。