一种基于p2p的数据传输方法、装置和系统的制作方法_4

文档序号:9202698阅读:来源:国知局
内。
[0179]在步骤S411中,第二网络设备接收所述连接请求,并将该连接请求提供给第二客户端,以使第一客户端与第二客户端能够建立基于P2P的直接连接。
[0180]具体地,第二网络设备根据其接收到的连接请求,确定第一客户端要连接至的第二客户端,并将所述连接请求提供给该第二客户端,以通知该第二客户端与第一客户端建立直接基于P2P的直接连接。
[0181]需要说明的是,为了简单起见,图6中将步骤S409置于步骤S410和步骤S411之后,本领域技术人员应能理解,步骤S409的执行与步骤S410和步骤S411的执行并无严格的先后顺序。例如,第一客户端在步骤S409中向第一网络设备发送连接请求时,第一网络设备可执行步骤S410和步骤S411,以使第二网络设备通知第二客户端与第一客户端建立直接连接;当第二客户端根据其接收到第二网络设备发送的连接请求与第一客户端进行直接连接时,第一客户端同时执行步骤S409来完成与第二客户端之间的连接。
[0182]根据本实施例的方案,第一客户端所注册至的第一网络设备与第二客户端所注册至的第二网络设备可进行数据交互,以实现在图5所示的P2P系统中的节点信息共享,从而实现第一客户端与第二客户端之间的直接连接。
[0183]图7为本发明的一个优选实施例的基于RTMFP协议的第一客户端与基于非RTMFP协议的第二客户端进行基于P2P的数据传输的P2P系统的结构示意图。其中,所述第一客户端包括第一传输装置,该第一传输装置包括第一连接装置101、第一发送装置102和第一接收装置103 ;所述第二客户端包括第二传输装置,该第二传输装置包括第二连接装置104、第二接收装置105、第一解封装置106、封装装置107和第三发送装置108。
[0184]第一客户端的第一连接装置101和第二客户端的第二连接装置104基于第二客户端支持的P2P连接协议,互相建立直接连接。
[0185]其中,所述直接连接表示第一客户端或第二客户端中的一者获得了能够直接指向另一者的地址信息,而不表示第一客户端与第二客户端之间不存在其他用于传递信息的设备。也即,当第一客户端或第二客户端中的一者在消息中加入上述能够直接指向另一者的地址信息后,收到该消息的其他设备能够根据该地址信息直接传递该消息,直至该消息被发送至第一客户端或第二客户端中的另一者,而无需由诸如交换机等设备在收到消息后,根据地址信息以外的其他信息来判断该消息应当被分配给哪个设备。
[0186]其中,在第一客户端中,可采用多种方式基于flash进行开发,使得第一客户端能够支持第二客户端所使用的P2P连接协议。例如,可采用Act1nscript技术基于flash进行开发;又例如,可采用Adobe Flascc技术基于flash进行开发。
[0187]其中,所述直接连接可由第一客户端的第一连接装置101主动发起,也可由第二客户端的第二连接装置104主动发起。如当第一客户端需要向第二客户端发送用于向该第二客户端请求数据的数据获取请求时,第一连接装置101需先向第二客户端主动发起直接连接;又如当第二客户端需要向第一客户端发送用于向该第一客户端请求数据的数据获取请求时,第二连接装置104需先向第一客户端主动发起直接连接。第一客户端的第一连接装置101和第二客户端的第二连接装置104基于第二客户端支持的P2P连接协议建立直接连接的更详细的实现方式,将在后续实施例中予以详细描述。
[0188]需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何第一客户端和第二客户端基于第二客户端支持的P2P连接协议,互相建立直接连接的实现方式,均应包含在本发明的范围内。
[0189]在互相建立连接后,第一客户端可通过第一发送装置102和第一接收装置103执行的操作来向第二客户端发送或接收消息。
[0190]第一发送装置102向第二客户端发送基于RTMFP协议的消息。
[0191]其中,第一发送装置102向第二客户端发送的基于RTMFP协议的消息包括任何可由第一客户端发送至第二客户端的信息。优选地,第一发送装置102向第二客户端发送的基于RTMFP协议的消息包括但不限于:
[0192]I)第一客户端用于向第二客户端请求数据的数据获取请求;
[0193]2)第一客户端根据所接收到的来自第二客户端的数据确定的、需要反馈至第二客户端的数据。
[0194]优选地,第一发送装置102向第二客户端发送基于RTMFP协议的消息的实现方式包括:第一发送装置102将需要发送给第二客户端的消息封装为HTTP格式的消息;然后,第一发送装置102将所述HTTP格式的消息封装为基于RTMFP协议的消息;最后,第一发送装置102将所述基于RTMFP协议的消息发送至第二客户端。
[0195]需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何向第二客户端发送基于RTMFP协议的消息的实现方式,均应包含在本发明的范围内。
[0196]接收装置103接收第二客户端基于RTMFP协议封装的数据。
[0197]其中,所述基于RTMFP协议封装的数据包括任何基于RTMFP协议封装的、可由第二客户端发送至第一客户端的信息,优选地,所述基于RTMFP协议封装的数据包括但不限于:
[0198]I)第二客户端用于向第一客户端请求数据的数据获取请求;
[0199]2)第二客户端根据所接收到的来自第一客户端的数据确定的、需要反馈至第一客户端的数据。
[0200]需要说明的是,接收装置103接收到第二客户端基于RTMFP协议封装的数据后,可根据所述基于RTMFP协议封装的数据,执行相应的操作。例如,若所述基于RTMFP协议封装的数据用于向第一客户端请求数据,则第一客户端获取第二客户端所请求的数据;又如,若所述基于RTMFP协议封装的数据为第二客户端反馈的视频数据,则第一客户端可存储并播放所述视频数据。
[0201]需要说明的是,第一发送装置102与第一接收装置103执行的操作之间可并无先后顺序。例如,第一发送装置102可先向第二客户端发送消息,之后,第一接收装置103接收第二客户端反馈的数据;或者,第一接收装置103可先接收第二客户端提供的数据,之后,第一发送装置102向第二客户端反馈消息等。
[0202]在互相建立连接后,第二客户端可通过第二接收装置105、第一解封装置106、封装装置107和第三发送装置108执行的操作来向第一客户端发送或接收消息。
[0203]以下说明通过第二接收装置105、第一解封装置106实现的、第二客户端接收来自第一客户端的消息的过程。
[0204]第二接收装置105接收来自第一客户端的、基于RTMFP协议的消息。
[0205]例如,第二接收装置105接收来自第一客户端的、用于向该第二客户端请求数据的数据获取请求。
[0206]第一解封装置106将所述基于RTMFP协议的消息解封为所述第二客户端能够解读的信息。
[0207]其中,所述能够解读的信息包括任何第二客户端能够直接使用或者处理的信息,如未经任何封装的原始数据、基于非RTMFP协议的数据等。
[0208]需要说明的是,第一解封装置106可根据所解读的数据,执行相应的操作。例如,若解读的数据表示基于RTMFP协议的消息用于向第二客户端请求数据,则第一解封装置106获取第一客户端所请求的数据;又如,若解读的数据表示基于RTMFP协议的消息为第一客户端反馈的视频数据,则第一解封装置106可存储并播放所述视频数据。
[0209]优选地,第一解封装置106进一步包括子解封装置(图未示)和转换装置(图未示)。
[0210]子解封装置基于RTMFP协议,将所述基于RTMFP协议的消息解封为HTTP格式的第一中间信息。
[0211]例如,子解封装置基于RTMFP协议,从所述基于RTMFP协议的消息中解析出作为数据体的、HTTP格式的数据,并将所述解析出的数据作为HTTP格式的第一中间信息。
[0212]需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何基于RTMFP协议,将所述基于RTMFP协议的消息解封为HTTP格式的第一中间信息的实现方式,均应包含在本发明的范围内。
[0213]转换装置基于HTTP协议,将所述第一中间信息转换为所述第二客户端能够解读的信息。
[0214]具体地,转换装置基于HTTP协议,将所述第一中间信息转换为所述第二客户端能够解读的信息的实现方式包括但不限于:
[0215]I)转换装置基于HTTP协议,从HTTP格式的第一中间信息中获得数据体中的数据,并将所获得的数据直接作为第二客户端能够解读的信息。
[0216]2)转换装置基于HTTP协议,从HTTP格式的第一中间信息中解析出数据体中的数据,并基于所述非RTMFP协议,将所解析出的数据转换为基于非RTMFP协议的数据,用以在多个第二客户端之间进行数据共享,并将所述基于非RTMFP协议的数据作为第二客户端能够解读的信息。
[0217]例如,第二客户端所基于的非RTMFP协议为TCP协议,则转换装置基于HTTP协议,从所述第一中间信息中解析出其数据体中的数据,并将解析出的数据转换为基于TCP协议的数据,以使该转换后的数据能够在第二客户端中直接使用,且该转换后的数据能够在多个第二客户端之间被传输。
[0218]需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何基于HTTP协议,将所述第一中间信息转换为所述第二客户端能够解读的信息的实现方式,均应包含在本发明的范围内。
[0219]需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何将所述基于RTMFP协议的消息解封为所述第二客户端能够解读的信息的实现方式,均应包含在本发明的范围内。
[0220]以下说明通过封装装置107和第三发送装置108实现的、第二客户端向第一客户端发送消息(数据)的过程。
[0221]封装装置107将需要发送给第一客户端的数据封装为基于RTMFP协议的数据。
[0222]其中,所述需要发送给第一客户端的数据包括任何可由第二客户端发送给第一客户端的数据。优选地,所述需要发送给第一客户端的数据包括但不限于:
[0223]I)第二客户端用于向第一客户端请求数据的数据获取请求;
[0224]2)第二客户端根据所接收到的来自第一客户端的数据确定的、需要反馈至第一客户端的数据。
[0225]优选地,封装装置107进一步包括第二子封装装置(图未示)和第三子封装装置(图未示)。第二子封装装置基于HTTP协议,将所述需要发送给第一客户端的数据封装为HTTP格式的第二中间信息;第三子封装装置基于RTMFP协议,将所述第二中间信息封装为所述基于RTMFP协议的数据。
[0226]例如,第二子封装装置基于HTTP协议,将需要发送给第一客户端的、用于向第一客户端请求数据的数据获取请求封装为HTTP格式的第二中间信息;接着,第三子封装装置基于RTMFP协议,将所述第二中间信息封装为基于RTMFP协议的数据。
[0227]需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何将需要发送给第一客户端的数据封装为基于RTMFP协议的数据的实现方式,均应包含在本发明的范围内。
[0228]第三发送装置108将所述基于RTMFP协议的数据发送给第一客户端。
[0229]需要说明的是,第二接收装置105和第一解封装置106执行的操作,与封装装置107和第三发送装置108执行的操作之间,可无先后顺序。例如,第二接收装置105和第一解封装置106可先执行操作来接收来自第一客户端的消息并解读,封装装置107和第三发送装置108再执行操作来根据所解读的信息封装数据并发送给第一客户端;或者,封装装置107和第三发送装置108可先执行操作来封装数据并发送给第一客户端,第二接收装置105和第一解封装置106再执行操作来接收来自第一客户端的消息并解读。
[0230]此外,第一客户端的第一发送装置102和第一接收装置103执行的操作,与第二客户端的第二接收装置105、第一解封装置106、封装装置107和第三发送装置108所执行的操作之间,也可无先后顺序。
[0231]作为一种优选方案,第一客户端的第一发送装置102向第二客户端发送的基于RTMFP协议的消息用于向第二客户端请求数据,第一发送装置102在第一接收装置103之前执行操作,且第二接收装置1
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1