文件传输控制方法、装置及计算机可读存储介质、终端与流程

文档序号:15232974发布日期:2018-08-21 19:53阅读:121来源:国知局

本发明涉及文件传输领域,具体涉及一种文件传输控制方法、装置及计算机可读存储介质、终端。



背景技术:

在如今信息高度共享化的时代,用户都希望能通过短平快的方式将自己相关的资源分享给周围的人,但是恰好处于一个手机流量并不是很便宜的时代,因此分享存在极大的流量限制。并且通过互联网传输速度很慢,而且会受极大的流量限制,不适合做大文件传输;即使有蓝牙传输,nfc传输等技术涌现,但是两者传输距离和速度都是极大的限制了分享传输的空间范围,因此无法大范围使用起来。而业内目前的解决方案是基于wifi来做近场传输,都是通过反射android系统隐藏的api创建一个局域网wifi热点,让其他设备连接,以此作为通讯的基建,这样在终端系统版本的迭代会出现不可预期的适配问题,而且反射api调用本身就是一个不稳定的方式,因此如何在兼容android所有平台、无需太多的适配工作的前提下,保证近场传输文件的稳定性、时效性是目前亟需解决的问题。



技术实现要素:

为克服以上技术问题,特别是现有技术无法简单地让android平台下的设备进行高效近场传输文件的问题,特提出以下技术方案:

第一方面,本发明提供了一种文件传输控制方法,包括:

获取第一终端android系统配置信息,并根据所述配置信息判断第一终端android系统是否支持wifip2p模式;

若支持,在第一终端创建p2p群组等待第二终端加入该p2p群组,并且创建socket服务接收端等待第二终端socket连接;

若不支持,根据wifi热点模式在第一终端创建服务器热点等待第二终端连接该服务器热点,并且创建socket服务接收端等待第二终端socket连接;

当所述第一终端与所述第二终端建立socket连接,基于socket读取传输通道与所述第二终端传输文件。

进一步的,所述在第一终端创建p2p群组,包括:

在第一终端创建p2p群组并将第一终端配置为p2p群组组长;

在所述第二终端加入第一终端创建的p2p群组之后,若检测到第二终端请求成为p2p群组组长,则配置第一终端为p2p群组组员。

进一步的,所述在第一终端创建p2p群组等待第二终端加入该p2p群组,并且创建socket服务接收端等待第二终端socket连接之后,还包括:

若第一终端与第二终端的socket连接发生中断,则根据wifi热点模式创建服务器热点,继续与第二终端建立连接。

进一步的,所述若第一终端与第二终端的socket连接发生中断,则根据wifi热点模式创建服务器热点,继续与第二终端建立连接之后,还包括:

当检测到第一终端满足预设条件时,在第一终端重新创建p2p群组,继续与第二终端建立连接。

进一步的,所述基于socket传输通道与所述第二终端传输文件,包括:读取本地的socket缓冲区的预设值,基于所述socket缓冲区的预设值与所述第二终端传输文件;所述方法还包括:

接收服务器下发的socket缓冲区的预设值的配置文件,根据所述配置文件更新本地的socket缓冲区的预设值。

进一步的,所述当所述第一终端与所述第二终端建立socket连接,基于socket传输通道与所述第二终端传输文件之后,还包括:

确认所述第一终端与第二终端文件完成文件传输,将第一终端与第二终端的文件传输信息上传到服务器,以让服务器统计所述文件传输信息后更新socket缓冲区的预设值;所述文件传输信息包括文件传输时间、传输文件大小、文件传输速率、文件传输成功率和失败率。

多端结合地,本发明还提供一种文件传输控制方法,包括:

第一终端获取android系统配置信息,并根据所述配置信息判断第一终端android系统是否支持wifip2p模式;若支持,第一终端创建p2p群组等待第二终端加入该p2p群组,并且创建socket服务接收端等待第二终端socket连接;若不支持,第一终端根据wifi热点模式创建服务器热点等待第二终端连接该服务器热点,并且创建socket服务接收端等待第二终端socket连接;

第二终端获取android系统配置信息,并优先设置wifip2p模式申请加入第一终端创建的p2p群组,当第二终端无法加入到所述p2p群组时则申请连接第一终端创建的服务器热点;

第一终端与第二终端建立socket连接,并基于socket传输通道传输文件。

进一步的,当所示第二终端加入所述第一终端创建的p2p群组之后,还包括:

根据用户自定义,将所述第二终端配置为p2p群组组长,将所述第一终端配置为p2p群组组员。

第二方面,本发明还提供一种文件传输控制装置,包括:

判断模块:用于获取第一终端android系统配置信息,并根据所述配置信息判断第一终端android系统是否支持wifip2p模式;

第一执行模块:用于当所述判断模块判断第一终端android系统支持wifip2p模式时,在第一终端创建p2p群组等待第二终端加入该p2p群组,并且创建socket服务接收端等待第二终端socket连接;

第二执行模块:用于当所述判断模块判断第一终端android系统不支持wifip2p模式时,根据wifi热点模式在第一终端创建服务器热点等待第二终端连接该服务器热点,并且创建socket服务接收端等待第二终端socket连接;

文件传输模块:当所述第一终端与所述第二终端建立socket连接,基于socket传输通道与所述第二终端传输文件。

第三方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的文件传输控制方法。

第四方面,本发明还提供了一种终端,所述终端包括一个或多个处理器、存储器、一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的文件传输控制方法。

本发明与现有技术相比,具有以下有益效果:

本发明通过获取终端android系统配置信息,根据系统自身配置信息在不同的android系统上采用不同的策略构建底层的连接通道,不用考虑传输底层协议,不用考虑是否支持全系的android版本,采用wifip2p和wifi热点的双模式保证了连接通道的健壮性,在此双模式保护下能保证兼容android所有平台,对开发者而言减轻了android系统复杂的适配工作,对用户而已,极大的适配了android系统的终端,当构建好局域网后,所在局域网内的手机就能在彼此之间完成通讯,并且采用基于socket的优化传输协议,极大的保证文件的传输速度,实现高效的近场传输文件。

此外,本发明还可动态调整p2p群组内终端的角色转化,将第一终端由p2p群组组长配置为p2p群组组员角色,将第二终端由p2p群组组员转化为p2p群组组长角色,保证第一终端、第二终端之间能够高效地互相传输文件。

再者,本发明还将文件传输信息上传到指定服务器,由服务器统计得出更优的socket缓冲区的预设值并下发给终端,终端便可动态调整socket缓冲区的预设值以更好地提高文件传输效率、文件传输成功率。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明文件传输控制方法的一实施例流程示意图;

图2为本发明文件传输控制方法的另一实施例流程示意图;

图3为本发明文件传输控制方法的另一实施例流程示意图;

图4为本发明文件传输控制装置的一实施例示意图;

图5为本发明终端的一实施例结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本领域技术人员应当理解,本发明所称的“应用”、“应用程序”、“应用软件”、“客户端”、“客户端软件”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。

本领域技术人员应当理解,本发明所称的用户界面、显示界面泛指能够用于向智能终端发送所述控制指令的显示界面,例如,可以是android/ios/windowsphone系统的设置页面中的一个选项(或按键,由所述应用程序添加其中,下同),也可以是从桌面呼出的通知栏或者交互页面中的一个选项,还可以是所述应用程序的一个活动组件所构造的页面中的一个选项。

wifip2p模式:wifi对等api(p2p)不需要连接到网络或热点(p2p框架符合wifi编程指导规范),就允许应用程序连接到附近的设备。

反射api:通过java反射的机制调用被隐藏的方法,具有一定的危险性。

service:android系统四大组件之一,能在后台保持运行。

socket:套接字,java框架提供的基于tcp/ip传输协议封装的传输模块。

在一种实施例中,本发明提供一种文件传输控制方法,如图1所示,该方法包括:

s100:获取第一终端android系统配置信息,并根据所述配置信息判断第一终端android系统是否支持wifip2p模式。

本实施例的执行主体为集成了android中的wifip2p和wifi模块功能的应用程序,该应用程序安装、运行在第一终端及第二终端上,本实施例中第一终端、第二终端的数量不作限定,为了方便理解与描述,以一台第一终端和一台第二终端为例进行阐述。当第一终端与第二终端之间要进行文件的传输、分享时,启动安装在第一终端、第二终端上的应用程序,以单端的角度出发,安装、运行在第一终端上的应用程序获取第一终端android系统配置信息,android系统将wifip2p技术封装并广播,本实施例中的应用程序通过创建一个广播接收器拦截相应的系统广播便可获取到所述配置信息,然后通过wifimanger.isp2psupport()判断第一终端系统是否支持wifip2p模式。

s200:若支持,在第一终端创建p2p群组等待第二终端加入该p2p群组,并且创建socket服务接收端等待第二终端socket连接。

若判断了第一终端系统支持wifip2p模式,本实施例的应用程序根据wifip2pmanager.creategroup()在第一终端创建p2p群组,同时配置第一终端作为p2p群组组长(或称为管理员),在第一终端上创建socket服务接收端和开启相应的后台service,同时创建一个服务线程来监听第二终端的连接请求,阻塞等待第二终端socket连接。

s300:若不支持,根据wifi热点模式在第一终端创建服务器热点等待第二终端连接该服务器热点,并且创建socket服务接收端等待第二终端socket连接。

若判断了第一终端系统不支持wifip2p模式,本实施例的应用程序根据android系统的wifi热点模式利用wifimanager.addnetwork()在第一终端创建服务器热点,等待第二终端连接该服务器热点,同时在第一终端上利用newserversocket(port)构建服务端socketserver,并开启相应的后台service,等待第二终端socket连接。

s400:当所述第一终端与所述第二终端建立socket连接,基于socket传输通道与所述第二终端传输文件。

当第一终端与第二终端建立了socket连接后,文件发送方只需将文件路径传入,而文件接收方需要提前定义好文件保存路径,优选的,本实施例的文件保存路径已提前定义好并可由用户自行更改,然后文件发送方即可将文件传入到文件接收方定义好的文件保存路径下,本实施例中,将socket缓冲区设置为一预设值如512k,然后第一终端与第二终端基于该预设值通过socket通道完成文件传输,例如第一终端基于该预设值依次将文件流读入socket传输通道中,然后第二终端再基于该预设值从socket传输通道依次将文件流写入到的文件中。

本实施例通过获取终端android系统配置信息,根据系统自身配置信息在不同的android系统上采用不同的策略构建底层的连接通道,不用考虑传输底层协议,不用考虑是否支持全系的android版本,采用wifip2p和wifi热点的双模式保证了连接通道的健壮性,在此双模式保护下能保证兼容android所有平台,对开发者而言减轻了android系统复杂的适配工作,对用户而已,极大的适配了android系统的终端,当构建好局域网后,所在局域网内的手机就能在彼此之间完成通讯,并且采用基于socket的优化传输协议,极大的保证文件的传输速度,实现了高效的近场传输文件。

本发明的实施例中,所述在第一终端创建p2p群组,包括:

在第一终端创建p2p群组并将第一终端配置为p2p群组组长;

在所述第二终端加入第一终端创建的p2p群组之后,还包括:

若检测到第二终端请求成为p2p群组组长,则配置第一终端为p2p群组组员。

本实施例中,应用程序在第一终端创建p2p群组时,将第一终端配置为p2p群组组长,此时应用程序在第一终端运行p2p群组组长的任务,监听第二终端的加入该p2p群组的请求,进一步的,在第二终端加入第一终端创建的p2p群组之后,若检测到第二终端请求成为p2p群组组长,则配置第一终端为p2p群组组员,此时第一终端运行p2p群组组员的任务,向p2p群组组长(即第二终端)发送请求、接收第二终端发来的文件。

如图2所示,本发明的一种实施例,所述在第一终端创建p2p群组等待第二终端加入该p2p群组,并且创建socket服务接收端等待第二终端socket连接之后,还包括:

s210:若第一终端与第二终端的socket连接发生中断,则根据wifi热点模式创建服务器热点,继续与第二终端建立连接。

本实施例中,所述文件传输支持断点续传及多文件同时传输,当第一终端创建p2p群组,第二终端加入该p2p群组且第一终端与第二终端建立了socket连接传输文件,在文件传输过程中,由于某些原因导致的第一终端与第二终端基于wifip2p模式下的socket连接发生中断,则第一终端切换采用wifi热点模式构建服务器热点,第二终端连接该服务器热点,继续保持第一终端与第二终端的连接,同时根据文件传输断点续传的特点,从第一终端与第二终端的连接发生中断时的文件传输进度继续进行文件传输,保证文件传输的有效性,提高文件传输的效率。

进一步的,所述实施例中,所述s210若第一终端与第二终端的socket连接发生中断,则根据wifi热点模式创建服务器热点,继续与第二终端建立连接之后,还包括:

s211:当检测到第一终端满足预设条件时,在第一终端重新创建p2p群组,继续与第二终端建立连接。

由于某种原因导致的第一终端与第二终端中断p2p群组的socket连接,在上述实施例中第一终端切换为采用wifi热点模式创建服务器热点并继续与第二终端建立连接,而考虑到wifip2p模式的文件传输效果更佳,当应用程序检测到第一终端满足预设条件时,确认此时第一终端可以再次使用wifip2p模式,则在第一终端重新创建p2p群组,第二终端重新加入该p2p群组,继续保持第一终端与第二终端连接,同样的,根据文件传输断点续传的特点,从第一终端重新创建p2p群组时的文件传输进度继续进行文件传输,保证文件传输的有效性,提高文件传输的效率。

本发明的一种实施例,所述基于socket传输通道与所述第二终端传输文件,包括:读取本地的socket缓冲区的预设值,基于所述socket缓冲区的预设值与所述第二终端传输文件;所述方法还包括:

接收服务器下发的socket缓冲区的预设值的配置文件,根据所述配置文件更新本地的socket缓冲区大小的预设值。

本实施例中,服务器会定时更新socket缓冲区的预设值的,为了应用程序能够配置更优的socket缓冲区的预设值,应用程序在联网时便可接收服务器下发的socket缓冲区的预设值的配置文件,而应用程序接收服务器下发的配置文件的行为并不发生在第一终端与第二终端建立连接的过程中,优选的,本实施例是在打开应用程序的时候接收服务器下发的配置文件并更新本地的socket缓冲区的预设值,以此保证服务器上统计得到的最新的socket缓冲区的预设值,从而提供更好的文件传输效率。

如图3所示,本发明的一种实施例,所述当所述第一终端与所述第二终端建立socket连接,基于socket传输通道与所述第二终端传输文件之后,还包括:

s500:确认所述第一终端与所述第二终端完成文件传输,将第一终端与第二终端的文件传输信息上传到服务器,以让服务器统计所述文件传输信息后更新socket缓冲区的预设值。

本实施例中,在每一次完成文件传输后,文件传输的第一终端与第二终端均将文件传输信息上传到指定服务器,所述文件传输信息包括文件传输时间、传输文件大小、文件传输速率、文件传输成功率和失败率,服务器统计该些文件传输信息,然后以此判断文件传输的具体情况,根据统计数据分析此时socket缓冲区的预设值是否达到预设的文件传输要求,若分析得出具有更佳的socket缓冲区的预设值时,服务器则向终端下发socket缓冲区的预设值的配置文件,终端接收到该配置文件后,即可根据所述配置文件更新本地的socket缓冲区的预设值,以提高文件传输效率及成功率。

在另一种实施例中,本发明基于第一终端与第二终端结合的角度提供一种文件传输控制方法,包括:

第一终端获取android系统配置信息,并根据所述配置信息判断第一终端android系统是否支持wifip2p模式;若支持,第一终端创建p2p群组等待第二终端加入该p2p群组,并且创建socket服务接收端等待第二终端socket连接;若不支持,第一终端根据wifi热点模式创建服务器热点等待第二终端连接该服务器热点,并且创建socket服务接收端等待第二终端socket连接;

第二终端获取android系统配置信息,并优先设置wifip2p模式申请加入第一终端创建的p2p群组,当第二终端无法加入到所述p2p群组时则申请连接第一终端创建的服务器热点;

第一终端与第二终端建立socket连接,并基于socket传输通道的预设值传输文件。

本实施例的执行主体为集成了android中的wifip2p和wifi模块功能的应用程序,该应用程序安装、运行在第一终端及第二终端上,当第一终端与第二终端之间要进行文件的传输、分享时,启动安装在第一终端、第二终端上的应用程序,安装、运行在第一终端上的应用程序获取第一终端android系统配置信息,根据所述配置信息通过wifimanger.isp2psupport()判断第一终端android系统是否支持wifip2p模式,若判断了第一终端android系统支持wifip2p模式,应用程序根据wifip2pmanager.creategroup()在第一终端创建p2p群组,同时配置第一终端作为p2p群组组长(或称为管理员),在第一终端上创建socket服务接收端和开启相应的后台service,同时创建一个服务线程来监听第二终端的连接请求,阻塞等待第二终端socket连接。若判断了第一终端android系统不支持wifip2p模式,应用程序根据android系统的wifi热点模式利用wifimanager.addnetwork()在第一终端创建服务器热点,等待第二终端连接该服务器热点,同时在第一终端上利用newserversocket(port)构建服务端socketserver,并开启相应的后台service,等待第二终端socket连接。

对应的,第二终端获取android系统配置信息,并优先设置wifip2p模式申请加入第一终端创建的p2p群组,当第一终端、第二终端均支持wifip2p模式时,则第二终端加入第一终端创建的p2p群组,而当第二终端无法加入到所述p2p群组时,如第一终端或第二终端不支持wifip2p模式,则第二终端申请连接第一终端创建的服务器热点,第二终端连接到第一终端创建的wifi热点或者加入p2p群组并通道连接成功后,创建客户端socket通过与服务端(第一终端)建立tcp通信,将socket缓冲区设置为预设值,并基于socket传输通道的预设值传输文件。

进一步的,本实施例中,当所示第二终端加入所述第一终端创建的p2p群组之后,还包括:

根据用户自定义,将所述第二终端配置为p2p群组组长,将所述第一终端配置为p2p群组组员。

本实施例中,应用程序在第一终端创建p2p群组时,将第一终端配置为p2p群组组长,此时应用程序在第一终端运行p2p群组组长的任务,监听第二终端的加入该p2p群组的请求,进一步的,在第二终端加入第一终端创建的p2p群组之后,若检测到第二终端请求成为p2p群组组长,则配置第一终端为p2p群组组员,此时第一终端运行p2p群组组员的任务,向p2p群组组长(即第二终端)发送请求、接收第二终端发来的文件。

在另一种实施例中,如图4所示,本发明提供了一种文件传输控制装置,包括:

判断模块100:用于获取第一终端android系统配置信息,并根据所述配置信息判断第一终端android系统是否支持wifip2p模式;

第一执行模块200:用于当所述判断模块判断第一终端android系统支持wifip2p模式时,在第一终端创建p2p群组等待第二终端加入该p2p群组,并且创建socket服务接收端等待第二终端socket连接;

第二执行模块300:用于当所述判断模块判断第一终端android系统不支持wifip2p模式时,根据wifi热点模式在第一终端创建服务器热点等待第二终端连接该服务器热点,并且创建socket服务接收端等待第二终端socket连接;

文件传输模块400:当所述第一终端与所述第二终端建立socket连接,基于socket传输通道与所述第二终端传输文件。

判断模块100通过创建一个广播接收器拦截第一终端android系统广播获取第一终端android系统的配置信息,然后通过wifimanger.isp2psupport()判断第一终端系统是否支持wifip2p模式。

当所述判断模块100判断第一终端android系统支持wifip2p模式时,第一执行模块200在第一终端创建p2p群组,同时配置第一终端作为p2p群组组长(或称为管理员),,在第一终端上创建socket服务接收端和开启相应的后台service,同时创建一个服务线程来监听第二终端的连接请求,阻塞等待第二终端socket连接。

当所述判断模块判断第一终端android系统不支持wifip2p模式时,第二执行模块300根据android系统的wifi热点模式利用wifimanager.addnetwork()在第一终端创建服务器热点,等待第二终端连接该服务器热点,同时在第一终端上利用newserversocket(port)构建服务端socketserver,并开启相应的后台service,等待第二终端socket连接。

当第一终端与第二终端建立了socket连接后,文件传输模块400基于socket传输通道与所述第二终端传输文件。

在另一种实施例中,本发明提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例所述的直播间活动信息展示方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随即存储器)、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。

本发明实施例提供的一种计算机可读存储介质,可实现包括:获取第一终端android系统配置信息,并根据所述配置信息判断第一终端系统是否支持wifip2p模式;若支持,在第一终端创建p2p群组等待第二终端加入该p2p群组,并且创建socket服务接收端等待第二终端socket连接;若不支持,根据wifi热点模式在第一终端创建服务器热点等待第二终端连接该服务器热点,并且创建socket服务接收端等待第二终端socket连接;当所述第一终端与所述第二终端建立socket连接,基于socket传输通道与所述第二终端传输文件。通过获取终端android系统配置信息,根据系统自身配置信息在不同的android系统上采用不同的策略构建底层的连接通道,不用考虑传输底层协议,不用考虑是否支持全系的android版本,采用wifip2p和wifi热点的双模式保证了连接通道的健壮性,在此双模式保护下能保证兼容android所有平台,对开发者而言减轻了android系统复杂的适配工作,对用户而已,极大的适配了android系统的终端,当构建好局域网后,所在局域网内的手机就能在彼此之间完成通讯,并且采用基于socket的优化传输协议,极大的保证文件的传输速度,实现了高效的近场传输文件。此外,本发明提供的计算机可读存储介质还可实现动态调整p2p群组内终端的角色转化,将第一终端由p2p群组组长配置为p2p群组组员角色,将第二终端由p2p群组组员转化为p2p群组组长角色,保证第一终端、第二终端之间能够高效地互相传输文件。另外,本发明提供的计算机可读存储介质还可实现将文件传输信息上传到指定服务器,由服务器统计得出更优的socket缓冲区的预设值并下发给终端,终端便可动态调整socket缓冲区的预设值以更好地提高文件传输效率、文件传输成功率。

本发明实施例提供的计算机可读存储介质可以实现上述文件传输控制方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。

此外,在又一种实施例中,本发明还提供一种终端,如图5所示,所述终端可以包括一个或者一个以上的处理器501,还包括存储器502、wifi(wirelessfidelity,无线保真)电路503、rf(radiofrequency,射频)电路504、音频电路505、传感器506、输出设备507、输入设备508、电源509,处理器501是终端的控制中心,利用各种接口和线路连接以上各部分。本领域技术人员可以理解,图5中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

wifi电路503可为用户提供无线局域网或互联网访问;其可包括天线、wifi模块等。rf电路504可收发信息,或在通话过程中信号的接收和发送;其可包括天线、至少一个放大器、调谐器、一个或多个振荡器、耦合器、双工器等。音频电路505可将接收到的音频数据转换成电信号,传输到扬声器,也可将传声器收集的声音信号转换为音频数据,发给处理器501处理;其可设置扬声器、传声器、耳机接口等。传感器506可用于感应外界信号,并发给处理器501处理;其可包括运动传感器、光传感器等。输出设备507可用于显示各种信号;其可为采用lcd(liquidcrystaldisplay,液晶显示器)、oled(organiclight-emittingdiode,有机发光二极管)等形式来配置显示面板。输入设备504可用于输入数字和字符等信息;其可为物理按键、触控面板等。电源509可为终端各部分供电,通过电源管理系统与处理器509逻辑连接;其可包括一个或一个以上的直流或交流电源、充电系统、电源状态指示器等组件。存储器502可用于存储软件程序以及模块;其可为计算机可读存储介质,具体的为硬盘、闪存等。处理器是终端的控制中心,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502的数据,执行终端各种功能、处理终端数据。

作为一个实施例,终端包括:一个或多个处理器501,存储器502,一个或多个应用程序,其中所述一个或多个应用程序被存储在存储器502中并被配置为由所述一个或多个处理器501执行,所述一个或多个程序配置用于执行以上实施例所述的文件传输控制方法。

本发明实施例提供的一种终端,可实现获取第一终端android系统配置信息,并根据所述配置信息判断第一终端系统是否支持wifip2p模式;若支持,在第一终端创建p2p群组等待第二终端加入该p2p群组,并且创建socket服务接收端等待第二终端socket连接;若不支持,根据wifi热点模式在第一终端创建服务器热点等待第二终端连接该服务器热点,并且创建socket服务接收端等待第二终端socket连接;当所述第一终端与所述第二终端建立socket连接,基于socket传输通道与所述第二终端传输文件。通过获取终端android系统配置信息,根据系统自身配置信息在不同的android系统上采用不同的策略构建底层的连接通道,不用考虑传输底层协议,不用考虑是否支持全系的android版本,采用wifip2p和wifi热点的双模式保证了连接通道的健壮性,在此双模式保护下能保证兼容android所有平台,对开发者而言减轻了android系统复杂的适配工作,对用户而已,极大的适配了android系统的终端,当构建好局域网后,所在局域网内的手机就能在彼此之间完成通讯,并且采用基于socket的优化传输协议,极大的保证文件的传输速度,实现了高效的近场传输文件。此外,本发明提供的终端还可实现动态调整p2p群组内终端的角色转化,将第一终端由p2p群组组长配置为p2p群组组员角色,将第二终端由p2p群组组员转化为p2p群组组长角色,保证第一终端、第二终端之间能够高效地互相传输文件。另外,本发明提供的终端还可实现将文件传输信息上传到指定服务器,由服务器统计得出更优的socket缓冲区的预设值并下发给终端,终端便可动态调整socket缓冲区的预设值以更好地提高文件传输效率、文件传输成功率。

本发明实施例提供的终端可以实现上述提供的文件传输控制方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1