1.ConnectAdd返回-13可能的情况

1)对端客户端的隧道数量达到上限(隧道数量上限请看配置文件的 MaxTunnel参数的值)

2)本端客户端的隧道数量达到上限(隧道数量上限请看配置文件的 MaxTunnel参数的值)

3)本端的入口端口占用(被已经添加的隧道占用或者被其他程序占用)

4)对端和本端的客户端不在同一个用户域里面。

5)隧道的入口地址使用局域网地址的时候,如果这个地址对应的设备是Android或IOS系统的,此时创建隧道会被系统拒绝。遇到这种情况请在本机上集成或安装隧道客户端。注意:作为隧道入口时,IOS的回环地址必须使用127.0.0.1,Android的端口号最小为1024。

6) 隧道客户端是集成中嵌入式linux或android设备中的时候,如果删除掉隧道连接就立即创建隧道连接就会报一个13错误码。

因为嵌入式linux和android设备上的端口关闭需要一定的时间,隧道服务器上的隧道连接数据已经删除了,但是实际设备上的端口还未关闭,所以创建不了。

建议在删除隧道连接延时个5到10秒再去创建隧道。

2.PPTUN 隧道不能连接的可能原因和解决办法

请查看《Peergine P2P 隧道 v1.5.pdf》理解隧道出口端入口端的概念。

  1. 隧道没有生效。重启所有客户端。
  2. 客户端不在线。在网页上看设备是否在线。
  1. 重启客户端并且在线,在入口端设备上查看配置的入口端IP地址端口是否打开。
  2. 验证在出口端设备上(创建隧道的设备)上是否可以正常访问配置的出口端IP地址和端口(一般是私网的TCP服务器地址和端口)。
  1. 问题:部分隧道不可用。

解决办法:请配置更大的MaxSess 和MaxTunnel 后重启客户端。

问题原因:

同一个账号或者ID关联了大量隧道,超过了客户端配置文件中支持的最大隧道数,超过部分隧道将不能生效。

  1. 部分入口端设备的隧道不可用,请检查是否有入口端设备上是否有端口冲突。

3.PPTUN隧道传输HTTP请求时延时很大的解决方案

问题描述:

有客户创建了一条隧道用来请求HTTP数据,测试发现:局域网请求数据很快获得返回结果。但是在隧道中请求确需要10秒左右的时间。每次都是大约10才能请求完成。

解决方案:

通过抓包获取HTTP数据分析,发现他们的HTTP Response Header没有Content-Length

在HTTP Response Header中加入Content-Length后再请求同样的就可以很快获得回复了。

4.pgTunnelConnectDelete: 删除一条隧道连接返回 -18 可能的原因

返回值PG_TUNNEL_ERROR_NOEXIST = -18, // 资源不存在

1)这个隧道确实不存在了

2)调用API传错了某个参数导致没法匹配到隧道。

5.设置识别码后设备不能上线的问题

在某些*Unix系统下,运行P2P隧道客户端后设置识别码切换域后,重启客户端在服务端发现设备没有上线。在客户端日志中出现类似 _DEV_{ID}@pptun.com 的日志打印。

这种情况下,可能是没有设置沙盒,或者设置的沙盒目录程序没有权限写入。

具体可以查阅手册文档《P2P 隧道模块SDK编程手册 v1.22.doc》

6.隧道设置域操作失败问题定位

(1)先判断隧道模块是否启动

在浏览器上输入 http://127.0.0.1:17881/statusget?option=0

图1

如上图1就是登录服务器成功,否则就是登录失败。登录失败请查看登录失败问题定位文档。

(2)获取自身ID号,在服务器管理网页查看这个ID是否以默认域(pptun.com)登录服务器

在浏览器上输入 http://127.0.0.1:17881/selfget

图2

如图2,您搜索的时候需要输入 DC85DEDF94481D12680B

,然后搜索,如图3就能说这个账号是以默认域登录服务器的。

图3

(3)执行设置域操作

(前提是您得知道所设置域的识别码,这里我们假设识别码为12345678)

在浏览器上输入设置域的命令,查看结果

http://127.0.0.1:17881/domainset?passcode=12345678

图4

如图4,result为0就是设置成功了。否则设置不成功。

总结:

(1)如果登录服务器失败肯定就无法设置域了,需要查找具体登录失败原因并解决。

(2)如果通过http接口能够设置域成功,但是用户客户端设置域失败,则说明是客户端软件的问题

发表评论

邮箱地址不会被公开。 必填项已用*标注

63 + = 68