CN108833469A - 一种终端对终端的资源传输方法、装置和终端设备 - Google Patents
一种终端对终端的资源传输方法、装置和终端设备 Download PDFInfo
- Publication number
- CN108833469A CN108833469A CN201810394585.8A CN201810394585A CN108833469A CN 108833469 A CN108833469 A CN 108833469A CN 201810394585 A CN201810394585 A CN 201810394585A CN 108833469 A CN108833469 A CN 108833469A
- Authority
- CN
- China
- Prior art keywords
- terminal equipment
- terminal
- resource
- equipment
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了一种终端对终端的资源传输方法、装置和终端设备,由第一终端设备和第二终端设备执行,所述资源传输方法包括:第一终端设备通过第一套接字监听第二终端设备的接入请求;其中,第一套接字在第一终端设备上被创建且绑定第一终端设备的地址和端口号。在接收到接入请求后,第一终端设备打开第一套接字以接收第二终端设备返回的连接信息,其中,接入请求为第二终端设备通过打开其上创建的第二套接字发出,并且接入请求包括第一终端设备的地址和端口号,第一终端设备响应第二终端设备返回的连接信息,与第二终端设备建立连接并发送资源列表信息至第二终端设备。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种终端对终端的资源传输方法、装置和终端设备。
背景技术
云盘作为一种重要的存储手段,吸引了大量的用户。由于云盘中可能存有大量的用户隐私信息,加之各个云盘管理公司需要对云盘资源进行监督与管理,因此云盘一直存在用户隐私被查看,私密性不高的毛病。而用户的隐私信息大量外泄,会给用户带来巨大的风险,蒙受很大的损失。
云盘是一种专业的互联网存储工具,是互联网云技术的产物,它通过互联网为企业和个人提供信息的储存,读取,下载等服务。
由于目前市场上的云盘都由各家公司监管,所以目前针对云盘私密性问题并没有较好的解决办法,若要存储隐私信息,只有将数据存储在实体硬盘中,可是实体硬盘存在便携性差,易损坏的特点。
发明内容
本发明目的在于克服现有技术的不足,提供一种终端对终端的资源传输方法、资源传输装置和终端设备,可以在不需要服务器端操作的情况下,对服务器端的文件进行管理、上传与下载。
为实现上述目的:
第一方面,本发明实施例提供一种终端对终端的资源传输方法,由第一终端设备和第二终端设备执行,所述资源传输方法包括:
第一终端设备通过第一套接字监听第二终端设备的接入请求;其中,第一套接字在第一终端设备上被创建且绑定第一终端设备的地址和端口号。
在接收到接入请求后,第一终端设备打开第一套接字以接收第二终端设备返回的连接信息,其中,接入请求为第二终端设备通过打开其上创建的第二套接字发出,并且接入请求包括第一终端设备的地址和端口号。
第一终端设备响应第二终端设备返回的连接信息,与第二终端设备建立连接并发送资源列表信息至第二终端设备。
进一步地,第一终端设备和第二终端设备之间通过内网穿透技术建立连接。
进一步地,第一终端设备与第二终端设备建立连接并发送资源列表信息至所述第二终端设备的步骤之后,还包括:
第一终端设备读取第二终端设备发送的基于所述资源列表信息的操作策略;
第一终端设备响应操作策略,执行与操作策略相对应的操作。
更进一步地,在第一终端设备响应所述操作策略的步骤中还包括:
第一终端设备判断所操作策略中指令的上传操作还是下载操作;
若为上传操作,则第一终端设备开启接收通道,以接收和存储来自第二终端设备的与上传操作相关联的资源;
若为下载操作,则第一终端设备开启发送通道,以向第二终端设备发送与下载操作相关联的资源。
更进一步地,在所述下载操作的步骤中还包括:
第一终端设备接收来自第二终端设备的资源下载请求;
第一终端设备响应下载操作,将与下载操作相关联的资源上传至云服务器;
云服务器生成与资源相关联的下载链接发送给所述第二终端设备;
第二终端设备根据下载链接从云服务器下载与下载操作相关联的资源。
更进一步地,在所述第二终端设备在完成从所述云服务器的资源下载后,删除所述云服务器中存储的与所述下载操作相关联的资源。
第二方面,本发明实施例提供一种终端对终端的资源传输装置,该装置包括:
监听模块:用于第一终端设备通过第一套接字监听第二终端设备的接入请求;其中,用于第一套接字在第一终端设备上被创建且绑定第一终端设备的地址和端口号;
接收模块,用于在接收到接入请求后,第一终端设备打开第一套接字以接收第二终端设备返回的连接信息;其中,接入请求为第二终端设备通过打开其上创建的第二套接字发出,并且接入请求包括第一终端设备的地址和端口号;
发送模块:用于第一终端设备响应第二终端设备返回的连接信息,与第二终端设备建立连接并发送资源列表信息至第二终端设备
连接模块:用于第一终端设备和第二终端设备之间通过内网穿透技术建立连接。
读取模块,用于第一终端设备读取第二终端设备发送的基于所述资源列表信息的操作策略;
响应模块,用于第一终端设备响应操作策略,执行与操作策略相对应的操作。
进一步地,终端对终端的资源传输装置还包括:
判断操作模块,用于第一终端设备判断所操作策略中指令的上传操作还是下载操作;
上传指令模块,用于若为上传操作,则第一终端设备开启接收通道,以接收和存储来自第二终端设备的与上传操作相关联的资源;
下载指令模块,用于若为下载操作,则第一终端设备开启发送通道,以向所述第二终端设备发送与下载操作相关联的资源。
接收下载请求模块,用于第一终端设备接收来自第二终端设备的资源下载请求;
上传云端模块,用于第一终端设备响应所述下载操作,将与下载操作相关联的资源上传至云服务器;
生成链接模块,用于云服务器生成与所资源相关联的下载链接发送给第二终端设备;
下载链接模块,用于第二终端设备根据下载链接从所述云服务器下载与下载操作相关联的资源。
删除模块,用于在第二终端设备在完成从云服务器的资源下载后,删除云服务器中存储的与下载操作相关联的资源。
第三方面,本发明实施例一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理执行的计算机程序,所述处理器执行所述计算机程序时实现第一方面中所述的终端对终端的资源传输的方法。
实施本发明实施例,具有如下有益效果:
提供一种终端对终端文件传输方法,可以在不需要服务器端操作的情况下,对服务器端的文件进行管理、上传与下载。由于服务器使用的是另一台终端设备,该终端设备可以由用户自己选择和保管,所以大大的提高的用户的便利性和用户隐私的安全性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种终端对终端的资源传输方法的一个实施例的流程示意图。
图2是本发明提供的一种终端对终端的资源传输方法的下载操作的流程示意图。
图3是本发明提供一种终端对终端的资源传输装置的一个实施例的结构示意图。
图4是本发明提供的一种终端对终端的资源传输装置的下载操作装置的结构示意图。
图5是本发明提供的一种终端对终端的资源传输装置的结构示意图。
图6是本发明提供的一种终端对终端的资源传输下载操作装置的结构示意图。
图7是本发明提供资源传输系统工作流程示意图。
图8是本发明提供的Socket通信流程示意图。
图9是NAPT内网主机通信创建Session示意图。
图10是对等主机在不同的NAT后面的示意图。
图11是对等主机在相同的NAT后面的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明第一实施例:
参见图1、图2、图3和图4,图1是本发明提供的一种终端对终端的资源传输方法的一个实施例的流程示意图,图2是本发明提供的一种终端对终端的资源传输方法的下载操作的流程示意图,图3是本发明提供一种终端对终端的资源传输装置的一个实施例的结构示意图。图4是本发明提供的一种终端对终端的资源传输装置的下载操作装置的结构示意图。本发明是一种基于终端对终端的文件传输应用,利用socket(套接字)和内网穿透,来完成终端与终端设备之间的文件管理与传输,在本发明实施例中终端设备,包括第一终端设备和第二终端设备,可以是移动终端或者叫移动通信终端是指可以在移动中使用的计算机设备,广义的讲包括个人计算机(Personal Computer,PC)13、个人数字助理(PersonalDigitalAssistant,PDA)12、移动电话(MobilePhone,MP)1、POS机甚至包括车载电脑等可进行无线通讯的电子设备,参见图3。
本发明实施例提供一种终端对终端的资源传输方法,由第一终端设备和第二终端设备执行。在本发明实施例中,可以将第一终端设备作为服务器,将第二终端设备作为客户端。可以理解,服务器用于存储资源,而客户端用于通过网络通讯与服务器进行连接,并从服务器上下载资源或上传资源至服务器。
更具体地,如图1所示,本发明实施例具体包括以下步骤:
S100,第一终端设备通过第一套接字监听所述第二终端设备的接入请求。
其中,所述第一套接字在所述第一终端设备上被创建且绑定所述第一终端设备的地址和端口号。
S200,在接收到接入请求后,第一终端设备打开第一套接字以接收第二终端设备返回的连接信息。
其中,所述接入请求为所述第二终端设备通过打开其上创建的第二套接字发出,并且所述接入请求包括所述第一终端设备的地址和端口号。
S300,第一终端设备响应第二终端设备返回的连接信息,与所述第二终端设备建立连接并发送资源列表信息至所述第二终端设备。
本发明的资源传输方法是基于socket的网络传输,其中,socket的工作原理与流程如下,参照图7:
两个进程如果需要进行通讯最基本的一个前提能能够唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在本地唯一,网络中的两个进程PID冲突几率很大,这时候就需要借用ip层,ip层的ip地址可以唯一标示主机,而TCP层协议和端口号可以唯一标示主机的一个进程,这样就可以利用ip地址+协议+端口号唯一标示网络中的一个进程。
能够唯一标示网络中的进程后,就可以利用socket进行通信了,socket译为套接字,是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。
socket通信流程:
socket是"打开—读/写—关闭"模式的实现,以使用TCP协议通讯的socket为例,其交互流程请参照图8:
服务器根据地址类型(ipv4,ipv6)、socket类型、协议创建socket。服务器为socket绑定ip地址和端口号。服务器socket监听端口号请求,随时准备接收客户端发来的连接,这时候服务器的socket并没有被打开。客户端创建socket。客户端打开socket,根据服务器ip地址和端口号试图连接服务器socket。服务器socket接收到客户端socket请求,被动打开,开始接收客户端请求,直到客户端返回连接信息。这时候socket进入阻塞状态,所谓阻塞即accept()方法一直到客户端返回连接信息后才返回,开始接收下一个客户端谅解请求。客户端连接成功,向服务器发送连接状态信息,服务器accept方法返回,连接成功。客户端向socket写入信息。服务器读取信息。客户端关闭。服务器端关闭。
第一终端设备与第二终端设备的连接是通过套接字(socket)建立网络连接,具体步骤如下:
建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket也是上述的第二终端设备,另一个运行于服务器端,称为ServerSocket也是上述第一终端设备。
套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。
1.服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。
2.客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。
为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。
3.连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接。
而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。
第一终端设备响应第二终端设备返回的连接信息,与第二终端设备建立连接并发送资源列表信息至第二终端设备后,第一终端设备和第二终端设备之间通过内网穿透技术建立连接,实现网络通讯,具体步骤如下:
使用花生壳软件的内网穿透的实现:使用花生壳软件的内网穿透功能,设置好ip和端口映射之后,在客户端向socket写入信息时,往花生壳软件生成的公网网址发送信息时,信息就会发送至设置好的ip和端口,此时服务器端如果监听该端口的话,就会接收来自客户端的信息。
内网穿透是在进行网络连接时的一种术语,也叫做NAT穿透,即在计算机是局域网内的时候,外网与内网的计算机的节点进行连接时所需要的连接通信,有时候就会出现内网穿透不支的情况。内网穿透的功能就是,在端口映射时设置时,内网穿透起到了地址转换的功能,也就是把公网的地址进行翻译,转成为一种私有的地址,然后再采用路由的方式ADSL的宽带路由器,具有一个动态或者是固定的公网ip,最后ADSL直接在交换机上,这样所有的电脑都可以共享上网。内网穿透除了可以实现内网之间机器的网络通信功通之外,还可以解决UDP中出现的数据传输不稳定问题。
内网穿透技术的工作步骤:
假设有两台分别处于各自的私有网络中的主机:A和B;N1和N2是两个NAT设备;S是一个使用了一个众所周知的、从全球任何地方都能访问得到的IP地址的公共服务器。
步骤一:A和B分别和S建立UDP连接;NAT设备N1和N2创建UDP转换状态并分配临时的外部端口号
步骤二:S将这些端口号传回A和B
步骤三:A和B通过转换好的端口直接联系到对方的NAT设备;NAT设备则利用先前创建的转换状态将分组发往A和B
内网穿透技术的实现:
要想解决以上两大障碍,我们需要借助一台具有公网IP的服务器进行牵线搭桥。为了便于说明,先假设这里有两台位于不同局域网内的主机A和主机B,以及一台具有公网IP地址的服务器。想在这两台主机间实现通信,具体的实现方法为:
1)A和B分别连接到服务器,这时,服务器将它们的外网IP和经过转换后的端口号(IP地址和端口号合称套接字,下面就用套接字来代替)存储起来。
2)A向服务器发送请求获取B的套接字,再根据获取的信息发送数据包给B。B收到A发来的数据包后,由于在它的数据结构中查询不到对应的记录,数据包将会被丢弃。当然,B此时完全接收不到A发来的信息。
3)A向服务器发送消息,告知服务器自己已经向B发送了数据包。于是,服务器开始向B发送消息,通知它A想和其建立连接,并将A的套接字发给B。此时,B根据得到的A的套接字,再向A发送数据包。由于A事前已经向B发送过数据包,在A的数据结构中留存有记录,因此,A将能够成功接收到B的数据包。
4)A接收到B发来的数据包后,可以再向B发送数据包。同样,由于B此前向A发送过数据包,在B的数据结构中留有记录,因此现在B也能够成功接收A发来的数据包了。至此,不同局域网内的主机A和主机B就可以自由通信了。
UDP穿透NAT的原理及实现
在UDP穿透技术中,NAT分配的外部端口被发送给协助直接连接的第三方,并在NAT上建立一个Session。在NAT后面的双方都向对方的外部端口发送一个UDP包,这样就在NAT上面创建了端口映射,双方就此可以建立连接。一旦连接建立,就可以进行直接的UDP通信了。
1、UDP数据包经由NAPT传输
参照图9,NAPT为每一个是Session分配一个NAPT的端口号,依据此端口号来判断将收到的外网主机返回的ip数据包转发给自己所在内网中的哪台主机。需要指出的是,在这里Session是虚拟的,UDP通信并不需要建立连接,但是对于NAPT而言,必须要有一个Session的概念存在。
2、建立Session
根据目的地址(外网ip地址)对于Session建立的决定方式,把NAPT设备分为Symmetric NAPT和Cone NAPT两类:
(1)Symmetric NAPT:对于到同一个IP地址,任意端口的连接分配使用同一个Session;对于到不同的IP地址,任意端口的连接使用不同的Session。
(2)Cone NAPT:对于到同一个IP地址或到不同的IP地址,任意端口的连接使用同一个Session。注意,这里做实验来进行UDP内网穿透互联的NAT设备都为Cone NAT。如果是Symmetric NAT,那么主机B向主机A打洞的端口已经重新分配了,主机B将无法知道这个端口。
3、实现
UDP打洞(UDP hole punching)
UDP打洞技术依赖于防火墙和cone NATs的属性。“洞”也就是前面提到的建立一个会话(session)。通过恰当的设计peer-to-peer应用程序,可以使“洞”穿过NAT设备并在主机间可以建立连接。即使当这些主机都位于NAT后面时,它们也能通讯。这里只考虑两种特殊的情况,以及在这两种情况下一些应用程序是怎么设计的。第一种情况,也是最常见的情况,即两个在不同的NAT后面的主机想进行直接的peer-to-peer通讯。第二种情况,两个客户端主机实际上在同一个NAT后面,但是它们没有必要知道这一点。
3.1对等主机在不同的NAT后面
假定客户端A和B都有自己的私有IP地址,而且在不同的网络地址转换设备后面,参照图10。
在客户端A、B和服务器S上都运行同一个peer-to-peer应用程序(如多人在线游戏,即时通讯软件等),而且每一个主机都用UDP的端口号1234。A和B每一个都与服务器S初始一个UDP通讯会话,这样就会使NAT A为A与S的会话分配一个它自己的外网UDP端口62000,同时NAT B也为B与S的会话分配一个它的外网UDP端口31000。
现在假设客户端A想与客户端B直接建立一个UDP通讯会话。如果A只是简单的对B的外网地址(138.76.29.7:31000)发送一个UDP数据包,那么NAT B很显然会丢弃这个发送过来的数据包(除非它是一个full cone NAT类型的NAT)。因为A发送的数据包的源地址和端口号与S的不一致(开始时,NAT B与S建立了一个初始的会话,S发给NAT B的数据包的源地址与端口号为18.181.0.31:1234)。同样的,如果B开始时向NAT A发送一个UDP消息,那么NAT A很显然也将丢弃这些信息。
假如A向B的外网IP发送UDP消息的同时,通过服务器S中继一个请求给B,即请求B向A的外网地址发送UDP消息。A向外的消息直接发到B的外网地址(138.76.29.7:31000)就会使NAT A在A的自由地址与B的外网地址间建立一个新的通讯会话。同时,B发往A的外网地址(155.99.25.11:62000)消息会使NAT B在B的私有地址与A的外网地址间建立一个新的会话。一旦在每一个方向上都打开了新的UDP会话,那么客户端A与B可以直接进行通讯而不会继续通过“中介”服务器S进行通讯。
UDP打洞技术有几个有用的属性,一旦在NAT后面的两个客户端建立了一个直接的peer-to-peer连接,那么在连接上的每一个结点都可以替代服务器S的“中介”的作用,帮助其它的结点与对等的客户端建立peer-to-peer通讯,从而减轻了服务器S的负担。如果采用STUN[3],这种应用软件不需要探测它处在什么类型NAT后面。上面的通讯过程表明:即使两个客户端的一个或两个都不在一个NAT设备后面,也能很好的建立peer-to-peer连接。即使有多个NAT,UDP打洞技术也能自动工作,甚至客户端在两层或更多层地址转换设备后面,它仍然能被应用。
3.2对等主机在相同的NAT后面
当两个客户端恰好在相同的NAT后面,那么它们就在相同的IP地址空间里,参照图11。
客户端A与服务器S建立了一个UDP会话,并且由NAT分配给一个外网端口62000。同样的客户端B也与服务器建立了一个会话,对应的端口号为62001。
如果客户机A和B用服务器S作为中介,用上面介绍的UDP打洞技术建立一个通讯连接.那么A和B得知道它们的公共IP地址和端口,如同服务器S看到的那样.然后A和B就在这些外网IP地址和端口上发送信息。只要这个NAT允许内网的主机可以与内网的其他主机打开转发UDP会话,而不能仅仅局限于与外部主机建立会话,那么这两个客户机可以用这种方式进行通讯。这种情况称为“回环翻译”(loop back translation),因为当从内网的数据包到达NAT后,就被翻译,再被“回环翻译”到内网中,而不是要穿过NAT经过公网(publicnetwork),例如当A向B的外网地址发送一个UDP数据,这个数据包初始的时候有一个源IP地址和端口号(10.0.0.1:1234)和一个目的地址与端口(155.99.25.11:64001)。NAT收到这个数据包,把它翻译为155.99.25.11:62000(A的公共地址)的源地址和10.1.1.3:1234的目的地址,然后就把它转发给B。即使NAT支持“回环翻译”,在这种情况下翻译与转发是不必要的步骤,很可能在A和B之间加上一个潜在的对话,同时也加重了NAT的负担。这种情况下,可以不通过NAT直接向它们的私有地址发送数据包。
S400,第一终端设备读取第二终端设备发送的基于资源列表信息的操作策略。
S500,第一终端设备判断所操作策略中指令的上传操作还是下载操作。
S600,若为下载操作指令,则第一终端设备开启发送通道,以向第二终端设备发送与下载操作相关联的资源。
第一终端设备下载操作步骤参见图2:
A100,第一终端设备接收来自所述第二终端设备的资源下载请求。
A200,第一终端设备响应下载操作,将与下载操作相关联的资源上传至云服务器。
A300,云服务器生成与资源相关联的下载链接发送给第二终端设备。
A400,第二终端设备根据所述下载链接从所述云服务器下载与所述下载操作相关联的资源。
A500,在第二终端设备在完成从云服务器的资源下载后,删除云服务器中存储的与下载操作相关联的资源。
云盘的一个重要功能就是对文件的管理,那么服务器需要对客户端发送来的指令进行正确操作,这就需要服务器对接收到的信息进行正确解析,使用post请求访问后台项目,后台通过NIO实现文件的上传和下载,具体步骤如下:
客户端通过post方法,发送:“old=”+文件源地址+“&action=”+操作名称+“&new=”+文件目标地址。
其中,文件源地址为需要操作的文件的路径,操作名称为文件管理操作,文件目标地址为被操作文件被操作之后的地址(当操作为删除,新建时该项可为空)。
当服务器端接收到信息时候,搜索“old=”“action=”“new=”,并将其后的信息截取至下一个“&”或者信息流结束,将其作为具体操作的依据,调用服务器设备自带的文件管理执行对应操作。
S700,若为上传操作指令,则第一终端设备开启接收通道,以接收和存储来自第二终端设备的与上传操作相关联的资源。
具体地,本实施例中所述的步骤可以执行如下:
1、用户在两台终端应用上各配置好另一个终端设备的地址,将其中一个终端设备设置为服务器端,另一个终端设备设置为客户端,并给予所需求的权限,即可开始使用。
2、使用客户端设备进行获取文件,则向服务器设备发送请求,服务器接收并且响应,将服务器的文件列表信息发送给客户端,客户端接收并且显示。
3、用户可以对客户端上显示的文件列表进行查看,复制,下载等操作,通过将对应的操作指令发送给服务器,达到对应的目的。服务器接收到指令后,根据指令中所述的文件路径和操作名称对文件进行响应。
4、用户可以点击客户端的上传按钮,将客户端本地的文件发送给服务器端,服务器开启接收通道,接收来自于客户端的文件,并将其保存至服务器本地,同时发送提示给客户端,如上传成功等。本发明第二实施例:
在第一个实施例的基础上,参照图5和图6,图5是本发明提供的一种终端对终端的资源传输装置的结构示意图,图6是本发明提供的一种终端对终端的资源传输下载操作装置的结构示意图。本发明第二实施例提供一种终端对终端的资源传输装置,具体包括:
监听模块100:用于第一终端设备通过第一套接字监听第二终端设备的接入请求;其中,用于第一套接字在第一终端设备上被创建且绑定第一终端设备的地址和端口号。
接收模块200,用于在接收到接入请求后,第一终端设备打开第一套接字以接收第二终端设备返回的连接信息;其中,接入请求为第二终端设备通过打开其上创建的第二套接字发出,并且接入请求包括第一终端设备的地址和端口号。
发送模块300,用于第一终端设备响应第二终端设备返回的连接信息,与第二终端设备建立连接并发送资源列表信息至第二终端设备。
连接模块400,用于第一终端设备和第二终端设备之间通过内网穿透技术建立连接;
读取模块500,用于第一终端设备读取第二终端设备发送的基于所述资源列表信息的操作策略。响应模块600,用于第一终端设备响应操作策略,执行与操作策略相对应的操作。
该终端对终端的资源传输装置还包括:
判断操作模块21,用于第一终端设备判断所操作策略中指令的上传操作还是下载操作。
上传指令模块22,用于若为上传操作,则第一终端设备开启接收通道,以接收和存储来自第二终端设备的与上传操作相关联的资源。
下载指令模块23,用于若为下载操作,则第一终端设备开启发送通道,以向所述第二终端设备发送与下载操作相关联的资源;
接收下载请求模块24,用于第一终端设备接收来自第二终端设备的资源下载请求。上传云端模块25,用于第一终端设备响应所述下载操作,将与下载操作相关联的资源上传至云服务器。
生成链接模块26,用于云服务器生成与所资源相关联的下载链接发送给第二终端设备。
下载链接模块27,用于第二终端设备根据下载链接从所述云服务器下载与下载操作相关联的资源;
删除模块28,用于在第二终端设备在完成从云服务器的资源下载后,删除云服务器中存储的与下载操作相关联的资源。
本发明第三实施例:
本发明第三实施例提供一种终端对终端的资源传输设备,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理执行的计算机程序,例如终端对终端的资源传输方法的程序。所述处理器执行所述计算机程序时实现上述任一项所述的一种终端对终端的资源传输方法的实施例中的步骤,例如图1所示的步骤S10。或者,所述处理器执行所述计算机程序时实现上述各装置实例中的功能,例如图5所示的监听模块100。
示例性地,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述实现一种终端对终端的资源传输终端设备中的执行过程。
所述终端设备为上述实施例中的中心服务器。所述终端设备可包括,但不仅限于,处理器、存储器、显示器。本领域技术人员可以理解,所述示意图仅仅是实现一种终端对终端的资源传输终端设备的示例,并不构成对一种终端对终端的资源传输终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如实现一种终端对终端的资源传输终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述实现一种终端对终端的资源传输终端设备的控制中心,利用各种接口和线路连接整个所述实现一种终端对终端的资源传输终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现终端对终端的资源传输终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述实现终端对终端的资源传输终端设备的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (9)
1.一种终端对终端的资源传输方法,其特征在于,由第一终端设备和第二终端设备执行,所述资源传输方法包括:
所述第一终端设备通过第一套接字监听所述第二终端设备的接入请求;其中,所述第一套接字在所述第一终端设备上被创建且绑定所述第一终端设备的地址和端口号;
在接收到所述接入请求后,所述第一终端设备打开所述第一套接字以接收所述第二终端设备返回的连接信息;其中,所述接入请求为所述第二终端设备通过打开其上创建的第二套接字发出,并且所述接入请求包括所述第一终端设备的地址和端口号;
所述第一终端设备响应所述第二终端设备返回的连接信息,与所述第二终端设备建立连接并发送资源列表信息至所述第二终端设备。
2.根据权利要求1所述的一种终端对终端的资源传输方法,其特征在于,所述第一终端设备和所述第二终端设备之间通过内网穿透技术建立连接。
3.根据权利要求1所述的一种终端对终端的资源传输方法,其特征在于,在所述第一终端设备与所述第二终端设备建立连接并发送资源列表信息至所述第二终端设备的步骤之后,还包括:
所述第一终端设备读取所述第二终端设备发送的基于所述资源列表信息的操作策略;
所述第一终端设备响应所述操作策略,执行与所述操作策略相对应的操作。
4.根据权利要求3所述的一种终端对终端的资源传输方法,其特征在于,在所述第一终端设备响应所述操作策略的步骤中还包括:
所述第一终端设备判断所操作策略中指令的上传操作还是下载操作;
若为上传操作,则所述第一终端设备开启接收通道,以接收和存储来自所述第二终端设备的与所述上传操作相关联的资源;
若为下载操作,则所述第一终端设备开启发送通道,以向所述第二终端设备发送与所述下载操作相关联的资源。
5.根据权利要求4所述的一种终端对终端的资源传输方法,其特征在于,在所述下载操作的步骤中还包括:
所述第一终端设备接收来自所述第二终端设备的资源下载请求;
所述第一终端设备响应所述下载操作,将与所述下载操作相关联的资源上传至云服务器;
所述云服务器生成与所述资源相关联的下载链接发送给所述第二终端设备;
所述第二终端设备根据所述下载链接从所述云服务器下载与所述下载操作相关联的资源。
6.根据权利要求5所述的一种终端对终端的资源传输方法,其特征在于,在所述第二终端设备在完成从所述云服务器的资源下载后,删除所述云服务器中存储的与所述下载操作相关联的资源。
7.一种终端对终端的资源传输装置,其特征在于,所述装置包括:
监听模块:用于所述第一终端设备通过第一套接字监听所述第二终端设备的接入请求;其中,用于所述第一套接字在所述第一终端设备上被创建且绑定所述第一终端设备的地址和端口号;
接收模块,用于在接收到所述接入请求后,所述第一终端设备打开所述第一套接字以接收所述第二终端设备返回的连接信息;其中,接入请求为所述第二终端设备通过打开其上创建的第二套接字发出,并且所述接入请求包括所述第一终端设备的地址和端口号;
发送模块:用于所述第一终端设备响应所述第二终端设备返回的连接信息,与所述第二终端设备建立连接并发送资源列表信息至所述第二终端设备;
连接模块:用于所述第一终端设备和所述第二终端设备之间通过内网穿透技术建立连接;
读取模块,用于所述第一终端设备读取所述第二终端设备发送的基于所述资源列表信息的操作策略;
响应模块,用于所述第一终端设备响应所述操作策略,执行与所述操作策略相对应的操作。
8.根据权利要求7所述的一种终端对终端的资源传输装置,其特征在于,还包括:
判断操作模块,用于所述第一终端设备判断所操作策略中指令的上传操作还是下载操作;
上传指令模块,用于若为上传操作,则所述第一终端设备开启接收通道,以接收和存储来自所述第二终端设备的与所述上传操作相关联的资源;
下载指令模块,用于若为下载操作,则所述第一终端设备开启发送通道,以向所述第二终端设备发送与所述下载操作相关联的资源;
接收下载请求模块,用于所述第一终端设备接收来自所述第二终端设备的资源下载请求;
上传云端模块,用于所述第一终端设备响应所述下载操作,将与所述下载操作相关联的资源上传至云服务器;
生成链接模块,用于所述云服务器生成与所述资源相关联的下载链接发送给所述第二终端设备;
下载链接模块,用于所述第二终端设备根据所述下载链接从所述云服务器下载与所述下载操作相关联的资源;
删除模块,用于在所述第二终端设备在完成从所述云服务器的资源下载后,删除所述云服务器中存储的与所述下载操作相关联的资源。
9.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的资源传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810394585.8A CN108833469A (zh) | 2018-04-27 | 2018-04-27 | 一种终端对终端的资源传输方法、装置和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810394585.8A CN108833469A (zh) | 2018-04-27 | 2018-04-27 | 一种终端对终端的资源传输方法、装置和终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108833469A true CN108833469A (zh) | 2018-11-16 |
Family
ID=64155677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810394585.8A Pending CN108833469A (zh) | 2018-04-27 | 2018-04-27 | 一种终端对终端的资源传输方法、装置和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108833469A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314273A (zh) * | 2018-12-12 | 2020-06-19 | 阿里巴巴集团控股有限公司 | 基于udp的数据传输方法和连接装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202704A (zh) * | 2007-09-07 | 2008-06-18 | 深圳市同洲电子股份有限公司 | 一种数据的传输方法及系统 |
CN101272402A (zh) * | 2008-05-14 | 2008-09-24 | 深圳市同洲电子股份有限公司 | 一种数据传输的方法、装置及系统 |
US20130065588A1 (en) * | 2011-09-13 | 2013-03-14 | Christoffer Rödbro | Transmitting data over multiple networks |
CN106254553A (zh) * | 2016-09-30 | 2016-12-21 | 北京奇虎科技有限公司 | 一种文件传输处理方法和装置 |
CN107425942A (zh) * | 2017-07-27 | 2017-12-01 | 广州视源电子科技股份有限公司 | 数据发送、转发和传输的方法及装置 |
-
2018
- 2018-04-27 CN CN201810394585.8A patent/CN108833469A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202704A (zh) * | 2007-09-07 | 2008-06-18 | 深圳市同洲电子股份有限公司 | 一种数据的传输方法及系统 |
CN101272402A (zh) * | 2008-05-14 | 2008-09-24 | 深圳市同洲电子股份有限公司 | 一种数据传输的方法、装置及系统 |
US20130065588A1 (en) * | 2011-09-13 | 2013-03-14 | Christoffer Rödbro | Transmitting data over multiple networks |
CN106254553A (zh) * | 2016-09-30 | 2016-12-21 | 北京奇虎科技有限公司 | 一种文件传输处理方法和装置 |
CN107425942A (zh) * | 2017-07-27 | 2017-12-01 | 广州视源电子科技股份有限公司 | 数据发送、转发和传输的方法及装置 |
Non-Patent Citations (3)
Title |
---|
张乃平: "《计算机网络技术》", 31 January 2015 * |
王巍: ""移动资源分配和调度研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
赵笑声: "《黑客编程技术揭秘与攻防实战》", 31 August 2016 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314273A (zh) * | 2018-12-12 | 2020-06-19 | 阿里巴巴集团控股有限公司 | 基于udp的数据传输方法和连接装置 |
CN111314273B (zh) * | 2018-12-12 | 2022-06-07 | 阿里巴巴集团控股有限公司 | 基于udp的数据传输方法和连接装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737505A (zh) | 一种资源下载的方法、系统和终端设备 | |
US8316134B2 (en) | File server device arranged in a local area network and being communicable with an external server arranged in a wide area network | |
CN102420785B (zh) | 中继服务器以及中继通信系统 | |
CN103856961B (zh) | 用于基于飞蜂窝的应用程序的开发和管理的网络和产品 | |
Negash et al. | Towards an interoperable Internet of Things through a web of virtual things at the Fog layer | |
CN108512909A (zh) | 一种基于物联网的计算机远程控制系统 | |
CN103731307B (zh) | 一种针对多业务的标准化数据面动态重构方法 | |
CN109104467A (zh) | 开发环境构建方法、装置以及平台系统和存储介质 | |
CN108737272B (zh) | 一种云计算中高性能路由转发方法 | |
CN101616073B (zh) | 通信系统以及服务器装置 | |
CN106663034A (zh) | 基于企业的网络与多租户网络之间的应用程序迁移 | |
CN101202709A (zh) | 中继服务器以及中继通信系统 | |
CN102780779A (zh) | 一种园区网出口p2p流量优化方法、装置及网关设备 | |
TWI535244B (zh) | Relay communication system and relay server | |
CN112187532A (zh) | 一种节点管控方法及系统 | |
CN114244602A (zh) | 多用户在线的网络服务系统、方法、装置及介质 | |
CN106713283A (zh) | 一种基于PaaS媒体技术的网间安全交互的系统及其方法 | |
CN107634871A (zh) | 一种连通性测试方法、装置及系统 | |
CN108833469A (zh) | 一种终端对终端的资源传输方法、装置和终端设备 | |
Chen et al. | Ensuring interoperability for the Internet of Things: Experience with CoAP protocol testing | |
CN109857439B (zh) | 一种游戏版本的更新方法及装置 | |
CN114884955B (zh) | 透明代理部署系统和方法 | |
CN109104472A (zh) | 区块链网络组网方法、装置、设备及计算机可读存储介质 | |
KR101406852B1 (ko) | 중계 통신 시스템 및 중계 서버 | |
CN111181903A (zh) | 信息获取方法和装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181116 |
|
RJ01 | Rejection of invention patent application after publication |