即时通信的文件传输方法以及系统的制作方法

文档序号:9435930阅读:2710来源:国知局
即时通信的文件传输方法以及系统的制作方法
【技术领域】
[0001]本发明涉及即时通信软件技术,尤其涉及一种即时通信的文件传输方法以及系统。
【背景技术】
[0002]使用即时通信软件进行通信是目前用户通过互联网进行通信的主要手段之一。使用即时通信软件可以允许两人或多人通过网络即时地传递文字讯息、语音与视频交流。
[0003]在现有技术中,用户还可使用即时通信软件传输文件,所述文件可以是语音数据、视频数据、图片数据、文字数据等。目前即时通信软件采用点对点方式或服务器中转方式来传输文件。服务器中转方式的优点在于可以由服务器控制文件传输的路径以及实现文件的离线发送;其缺点是文件传输速度受到运行即时通信软件的设备接入的互联网资源的上行带宽的限制,通常会考虑限制所需传输的文件的大小,此外由于文件传输依靠服务器进行转发,因此在即时通信软件的全局用户数量增加的情况下,服务器负荷较高,难以维护。点对点方式传输文件的优点在于传输速度较快,尤其是在局域网内进行传输时传输速度不受互联网资源的上行带宽限制;其缺点是文件传输的稳定性容易受到路由器和防火墙的影响,而且不能实现离线传输。
[0004]通常,如果文件传输的发送方和接收方处在同一网段内,使用点对点方式进行文件传输的效率更高,如果文件传输的发送方和接收方不在同一网段内,使用服务器中转方式进行文件传输的效率更高。但目前现有的即时通信软件并不能根据网络状况来判断文件传输使用哪种方式效率更高。

【发明内容】

[0005]为了克服现有技术中的上述缺陷,本发明提供了一种即时通信的文件传输方法,该方法包括:
[0006]消息发送端启动TCP服务,并向消息接收端发送文件传输消息;
[0007]所述消息发送端判断是否接收到所述消息接收端根据所述文件传输消息返回的TCP连接请求;
[0008]若是,则所述消息发送端使用点对点方式向所述消息接收端发送待传输文件;
[0009]若否,则所述消息发送端通过中转服务器向所述消息接收端发送所述待传输文件。
[0010]根据本发明的一个方面,该方法中所述文件传输消息包括:所述TCP服务的连接信息以及所述待传输文件的属性信息。
[0011]根据本发明的另一个方面,该方法中所述消息发送端使用点对点方式向所述消息接收端发送待传输文件包括:所述消息发送端与所述消息接收端之间建立TCP连接;所述消息发送端通过所述TCP连接向所述消息接收端发送所述待传输文件。
[0012]根据本发明的另一个方面,该方法中所述消息发送端通过中转服务器向所述消息接收端发送所述待传输文件包括:所述消息发送端向所述中转服务器发送所述待传输文件;所述中转服务器接收并缓存所述待传输文件;所述中转服务器根据所述消息接收端的下载请求向所述消息接收端下发所述待传输文件。
[0013]相应地,本发明还提供了一种即时通信的文件传输系统,该系统包括消息发送端、消息接收端和中转服务器,其中:
[0014]所述消息发送端包括连接模块、判断模块、直接传输模块和中转传输模块;
[0015]所述连接模块,用于启动TCP服务,并向所述消息接收端发送文件传输消息;
[0016]所述判断模块,用于判断是否接收到所述消息接收端根据所述文件传输消息反馈的TCP连接请求,若是则触发所述直接传输模块工作,若否则触发所述中转传输模块工作;
[0017]所述直接传输模块,用于使用点对点方式向所述消息接收端发送待传输文件;
[0018]所述中转传输模块,用于通过所述中转服务器向所述消息接收端发送所述待传输文件;
[0019]所述消息接收端,用于生成所述TCP连接请求,并接收所述待传输文件;
[0020]所述中转服务器,用于缓存所述待传输文件。根据本发明的一个方面,该智能终端中所述预设模块包括:编辑单元,用于在所述智能终端上呈现编辑界面;设置单元,用于根据针对所述编辑界面的编辑操作,分别设置所述第一解锁界面中和所述多个第二解锁界面中所包括一组解锁图形元素的显示属性。
[0021]根据本发明的另一个方面,该系统中所述文件传输消息包括:所述TCP服务的连接信息以及所述待传输文件的属性信息。
[0022]根据本发明的另一个方面,该系统中所述直接传输模块包括:建立连接单元,用于与所述消息接收端建立TCP连接;发送单元,用于通过所述TCP连接向所述消息接收端发送所述待传输文件。
[0023]根据本发明的另一个方面,该系统中所述中转服务器包括:缓存模块,用于接收并缓存所述待传输文件;下发模块,用于根据所述消息接收端的下载请求向所述消息接收端下发所述待传输文件。
[0024]本发明所提供的即时通信的文件传输方法以及系统可以通过判断网络状况来选择文件传输的具体方式,因此提升了即时通信中文件传输的传输效率以及保证文件传输的稳定性。
【附图说明】
[0025]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0026]图1是根据本发明的即时通信的文件传输方法的一种【具体实施方式】的流程图;
[0027]图2是图1中步骤S300的一个优选实施例的流程图;
[0028]图3是图1中步骤S400的一个优选实施例的流程图;
[0029]图4是根据本发明的即时通信的文件传输系统的一种【具体实施方式】的结构示意图;
[0030]附图中相同或相似的附图标记代表相同或相似的部件。
【具体实施方式】
[0031]为了更好地理解和阐释本发明,下面将结合附图对本发明作进一步的详细描述。
[0032]本发明提供了一种即时通信的文件传输方法,请参考图1,图1是根据本发明的即时通信的文件传输方法的一种【具体实施方式】的流程图,该方法包括:
[0033]步骤S100,消息发送端启动TCP服务,并向消息接收端发送文件传输消息;
[0034]步骤S200,所述消息发送端判断是否接收到所述消息接收端根据所述文件传输消息返回的TCP连接请求,若是执行步骤S300,若否执行步骤S400 ;
[0035]步骤S300,所述消息发送端使用点对点方式向所述消息接收端发送待传输文件;
[0036]步骤S400,所述消息发送端通过中转服务器向所述消息接收端发送所述待传输文件。
[0037]具体地,所述消息发送端和所述消息接收端可以实施为运行在合适的物理设备上的客户端程序,所述物理设备例如是安装了 Windows、Mac OS或Linux操作系统的个人电脑和笔记本电脑,或例如是安装了 Syber OS、1S、Android、Symbian、Windows Mobile、Maemo、WebOS、Palm OS或Blackberry OS等终端操作系统的智能手机和平板电脑。
[0038]在步骤SlOO中,所述消息发送端启动TCP (Transmiss1n Control Protocol,传输控制协议)服务,用于准备与所述消息接收端进行协商通信,同时向所述消息接收端发送文件传输消息,该文件传输消息包括所述TCP服务的连接信息以及所述待传输文件的属性信息。所述TCP服务器的连接信息用于与所述消息接收端协商建立TCP连接,所述属性信息包括但不限于所述待传输文件的名称、类型和大小。
[0039]在步骤S200中,所述消息发送端等待所述消息接收端的响应,并判断是否接收到所述消息接收端根据所述文件传输消息返回的TCP连接请求,本领域技术人员可以理解,如果所述消息发送端和所述消息接收端处于同一网段内,则两者之间满足可以采用TCP直连的条件,相应地所述消息接收端会根据所述文件传输消息向所述消息发送端返回TCP连接请求;如果所述消息发送端和所述消息接收端不处于同一网段内或受到其他网络因素的干扰,所述消息发送端无法接收到所述消息接收端返回的TCP连接请求,因此两者之间无法建立TCP直连。需要说明的是,处于所述同一网段指的是所述消息发送端和所述消息接收端的网络标识相同,所述网络标识可以使用IP地址与子网掩码转换为二进制计数后相与计算而获得。典型地,如果所述消息发送端和所述消息接收端处于同一局域网内,则两者具有相同的网关IP地址,因此两者的网络标识相同。所述消息发送端等待所述消息接收端响应所述TCP连接请求的最大等待时间可以是本发明的实施者自定义的,该最大等待时间例如是所述消息发送端发送所述文件传输消息之后的3秒,如果超出该最大等待时间且所述消息发送端仍未收到所述TCP连接请求,所述消息发送端可以尝试重发所述文件传输消息,或判断为未收到所述TCP连接请求。
[0040]如果在步骤S200中所述判断的结果是所述消息发送端接收到所述TCP连接请求,则执行步骤S300,所述消息发送端使用点对点方式向所述消息接收端发送待传输文件。请参考图2,图2是图1中步骤S300的一个优选实施例的流程图,步骤S300包括:步骤S301,所述消息发送端与所述消息接收端之间建立TCP连接;步骤S302,所述消息发送端通过所述TCP连接向所述消息接收端发送所述待传输文件。所述消息发送端接收到所述TCP连接请求之后满足与所述消息接收端协商建立TCP连接的条件,因此在步骤S301中建立所述TCP连接,进而在步骤S302中采取直接通过该TCP连接发送所述待传输文件的方法将所述待传输文件发送至所述消息接收端。所述消息发送端与所述消息接收端通过P2P (Peer toPeer,点对点)方式直接交换数据,所述消息发送端与所述消息接收端是对等网络中的节点。更具体地,所述消息发送端可以采用PPP(P1nt to P1nt Protocol,点对点协议)向所述消息接收端发送所述待传输文件。
[0041]如果在步骤S200中所述判断的结果是所述消息发送端未接收到所述TCP连接请求,则执行步骤S400,所述消息发送端通
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1