主权项 |
一种基于XMPP服务器的打洞方法,其特征在于包括:S1:用户终端、机顶盒分别登录XMPP服务器;用户终端登录UDP服务进行用户终端账号认证;用户终端向UDP服务文件模块发送数据时,采用心跳机制保持第一路由器端口常开;S2:用户终端通过XMPP服务器将用户终端外网IP地址及用户终端外网端口号发送给机顶盒;机顶盒接收用户终端外网IP地址以及用户终端外网端口号;S3:机顶盒登录UDP服务文件模块; 机顶盒向UDP服务文件模块发送数据时,采用心跳机制保持第二路由器端口常开;S4:机顶盒与用户终端建立打洞连接;S5:机顶盒与用户终端建立数据连接,进行数据传输;所述S1中用户终端、机顶盒分别登录XMPP服务器;用户终端登录UDP服务进行用户终端账号认证的具体步骤是:S11:用户终端、机顶盒分别通过第一路由器、第二路由器登录XMPP服务器;S12:用户终端通过第一路由器登录UDP服务文件模块,进行用户终端账号认证,若用户账号与UDP服务文件模块保存的注册账号有匹配,则用户终端账号通过认证,否则,返回S11;S13: UDP服务文件模块通过第一路由器返回用户终端外网IP地址与用户终端外网端口号给用户终端,其中第一路由器,用于用户终端登录UDP服务文件模块时,保存用户终端外网IP地址、用户终端外网端口号组成信息与用户终端内网IP地址、用户终端内网端口号组成信息之间的映射关系;所述S1中用户终端向UDP服务文件模块发送数据时,采用心跳机制保持第一路由器端口常开的具体步骤是:用户终端向UDP服务文件模块发送数据时,用户终端向第一路由器间隔时常T,发送N次数据,用于保持用户终端外网IP地址、用户终端外网端口号组成信息与用户终端内网IP地址、用户终端内网端口号组成信息之间的映射关系不变,其中T>0,N>0;所述S2具体步骤是:用户终端通过第一路由器发送用户终端外网IP地址及用户终端外网端口号给XMPP服务器,XMPP服务器将用户终端外网IP地址及用户终端外网端口号通过第二路由器发送给机顶盒;机顶盒接收用户终端外网IP地址以及用户终端外网端口号。 |