富文本动态消息发布方法、客户端、服务器和系统的制作方法_3

文档序号:9306770阅读:来源:国知局
才继续进行发送。
[0056]如果发送过程中,用户退出当前客户端应用,那么当用户下一次启动该客户端应用的时候,如果下次启动时间仍在动态发布非超时时间段内,那么该条动态将自动重新发送。如果已经超过动态发布非超时时间段,那么该条动态显示为发布失败。
[0057]发布失败的动态,用户可以手动点击该条动态进行重新发送。重新发送的时候,已经上传的成功的图片,不需要进行重新上传,只需要上传之前上传失败的图片和未来得及上传的图片就可以了。
[0058]在本发明的一个实施例中,上传成功定义为接收到服务器的回包。为此,可以用三个数组来分别存储以下三个内容:未上传成功的图片信息、已经上传成功的图片信息(此处是临时数组,上传成功之后的内容未排序,存储的是服务器回包中的内容,见上传协议的回包)、还有一个存储全部附件上传完毕,按照发布者选择图片顺序排好序的数组。
[0059]当一个附件上传成功时,就把这个附件从未上传成功的数组中删除,然后把回包信息保存在已经上传成功的临时数组里面。当所有附件都上传完成,会根据发布者选择图片的顺序进行重新排序,重新排好序的回包信息,存到另一个数组里面。排序完成也就意味着,上传的过程正式结束,可以将这些回包信息打包进行发送了。
[0060]归纳上述方案,可得到基于图1所示的方法的如下方案:
[0061]I)步骤110中所述将待发布的动态消息中的各多媒体附件分别打包上传到服务器包括:将打包后的多媒体附件按顺序放入队列中,每次从队列中取第一预设值个数(如3个)的多媒体附件进行上传;图1所示的方法在所述将待发布的动态消息中的各多媒体附件分别打包上传到服务器之后,进一步包括:如果一个多媒体附件上传失败,则将该多媒体附件放到队尾等待重新发送;如果一个多媒体附件重发次数达到第二预设值(如3次,即共上传4次),则判定富文本动态消息发布失败。
[0062]2)每次上传多媒体附件前,判断当前是否连接网络,如果连接网络则立刻上传,如果没有连接网络则等收到系统发出的网络连接上的通知时再上传,如果在预设的动态发布非超时时间段(如30分钟)内一直没有网络,则判定富文本动态消息发布失败。其中,预设的动态发布非超时时间段,是指以开始向服务器上传该待发布的动态消息中的内容的时间点起始的预设长度的时间段。
[0063]具体地,在本实施例中,具体可以在确定当前网络为弱网环境时(即当某一附件上传次数达到一定次数时),才在每次上传多媒体附件前判断是否连接网络。
[0064]3)如果在上传队列中的多媒体附件的过程中,用户退出当前客户端应用,后又重启该客户端应用,则先判断是否在预设的动态发布非超时时间段(如30分钟)内,是则继续上传队列中的多媒体附件,否则判定富文本动态消息发布失败;如果在判定富文本动态消息发布失败后,接收到用户重发该条动态消息的指令,则继续上传队列中的未上传成功的多媒体附件。
[0065]图2是本发明实施例中的一种富文本动态消息发布客户端的结构示意图。如图2所示,该客户端200包括:附件上传单元201、回包接收单元202和发布单元203。其中:
[0066]附件上传单元201,用于将待发布的动态消息中的各多媒体附件分别打包上传到服务器。
[0067]回包接收单元202,用于接收每个多媒体附件上传成功时,服务器返回的回包,该回包中包含上传成功的该多媒体附件的服务器地址。在本发明的实施例中,回包包括上传附件的信息,比如该附件对应的服务器地址。还可以包括附件的大小、附件的缩略图地址坐寸ο
[0068]发布单元203,用于所述待发布的动态消息中的各多媒体附件的回包中的信息打包到最后一个包中上传到服务器,使得服务器根据该最后一个包中的信息生成一条富文本动态消息并发布。
[0069]图2所示的客户端,采取了将富文本动态消息中的每个附件分别上传的策略,这样能有效的将原本需要将几个附件合并在一起的较大包拆开,每个附件单独成为一个包上传,等每个附件上传成功后,再将文本信息、所有的附件的服务器地址和一些其他信息合成最后一个包上传到服务器。这样每个包都比原来的一个大包小了很多,每个包的上传成功率也会相应增加,尤其是在弱网条件下。
[0070]在本发明的一个实施例中,图2中的发布单元201,还用于在所述最后一个包中设置该待发布的动态消息的唯一标识,以避免该最后一个包被重复上传时,服务器重复生成并发布该条动态消息。该动态消息的唯一标识可以采用用户ID+时间戳。
[0071]在图2中,附件上传单元201,用于将打包后的多媒体附件按顺序放入队列中,每次从队列中取第一预设值个数的多媒体附件进行上传;如果一个多媒体附件上传失败,则将该多媒体附件放到队尾等待重新发送;如果一个多媒体附件重发次数达到第二预设值,则判定富文本动态消息发布失败。
[0072]在本发明的一个实施例中,图2中的附件上传单元201,还用于在每次上传多媒体附件前,判断当前是否连接网络,如果连接网络则立刻上传,如果没有连接网络则等收到系统发出的网络连接上的通知时再上传,如果在预设的动态发布非超时时间段内一直没有连接网络,则判定富文本动态消息发布失败。
[0073]在本发明的一个实施例中,图2中的附件上传单元201,还用于如果在上传队列中的多媒体附件的过程中,用户退出当前客户端应用,后又重启该客户端应用时,先判断是否在预设的动态发布非超时时间段内,是则继续上传队列中的多媒体附件,否则判定富文本动态消息发布失败;如果在判定富文本动态消息发布失败后,接收到用户重发该条动态消息的指令,则继续上传队列中未上传成功的多媒体附件。
[0074]图3是本发明实施例中的又一种富文本动态消息发布方法的流程图。如图3所示,该方法包括:
[0075]步骤S310,接收客户端上传的待发布的动态消息中各多媒体附件;其中,客户端是将待发布的动态消息中的各多媒体附件分别打包后上传的;
[0076]步骤S320,每成功接收一个多媒体附件,向客户端返回回包,该回包中包含成功接收的该多媒体附件的服务器地址;
[0077]步骤S330,接收客户端上传的所述待发布的动态消息的最后一个包;其中客户端是所述待发布的动态消息中的各多媒体附件的回包中的信息打包到最后一个包中后上传的;
[0078]步骤S340,根据该最后一个包中的信息生成一条富文本动态消息并发布。
[0079]在本发明的一个实施例中,图3所示的方法,在所述根据该最后一个包中的信息生成一条富文本动态消息并发布之前,进一步包括:
[0080]根据该最后一个包中的动态消息的唯一标识判断,该动态消息是否已经发布过,是则不再发布该动态消息。
[0081]图4是本发明实施例中的一种富文本动态消
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1