查看完整版本: [-- c/s架构下,如何端对端传文件 --]

QTCN开发网 -> Qt移动平台开发 -> c/s架构下,如何端对端传文件 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

whoami12131 2019-11-10 21:25

c/s架构下,如何端对端传文件

大佬们,想问一下问题,就是类似于qq的那种传文件的底层逻辑是如何做到的啊?
文件必须要存到服务器上,然后服务器再转发吗?
真心求教~~

20091001753 2019-11-10 21:30
QQ有2种模式,在线传输,离线传输。
离线传输,就是先把文件传到服务器上。
在线传输,就是直接发送给对方。

yanwuyue 2019-11-11 09:01
连个都在内网中,怎么直接传
都是上传到服务器上的,区别是
1.在线模式:双方client绑定,数据通过服务器直接中转给对方
2.离线模式:先上传到服务器上,然后对方从服务器上下载

圣域天子 2019-11-11 10:25
在线传输是不经过服务器的。端与端之间是打洞方式实现的。

20091001753 2019-11-11 11:39
yanwuyue:连个都在内网中,怎么直接传
都是上传到服务器上的,区别是
1.在线模式:双方client绑定,数据通过服务器直接中转给对方
2.离线模式:先上传到服务器上,然后对方从服务器上下载 (2019-11-11 09:01) 

百度“内网穿透"

yanwuyue 2019-11-11 16:34
首先你的QQ是无权也无法修改你的路由器的配置,端口装发这条路是行不通的,
第二反向代理,花生壳一类,只是有人帮你直接中转了




whoami12131 2019-11-12 19:37
20091001753:QQ有2种模式,在线传输,离线传输。
离线传输,就是先把文件传到服务器上。
在线传输,就是直接发送给对方。 (2019-11-10 21:30) 

在线传输会由于防火墙原因无法与对方实现TCP通信,若需要关闭防火墙会影响用户体验,目前倾向于离线传输,但是离线传输要如何实现过程匹配(上传到云端的文件要有识别,谁发的,谁应该下载)?

whoami12131 2019-11-12 19:40
yanwuyue:连个都在内网中,怎么直接传
都是上传到服务器上的,区别是
1.在线模式:双方client绑定,数据通过服务器直接中转给对方
2.离线模式:先上传到服务器上,然后对方从服务器上下载 (2019-11-11 09:01) 

可以具体阐述在线传输如何进行client绑定吗,这里不是很明白;还有就是,离线传输的话,A用户文件上传到服务器上,B用户下载的时候要如何确定自己应该下载哪一个文件?这些都是疑点,还没有解决呢

whoami12131 2019-11-12 19:42
圣域天子:在线传输是不经过服务器的。端与端之间是打洞方式实现的。 (2019-11-11 10:25) 

请问一下,打洞具体是什么逻辑过程呢?打洞的过程在Qt中应该如何实现呢?

圣域天子 2019-11-13 16:38
你是C/S,在同一网段下的局域网内,这个就要方便非常多了,不需要internet中的打洞技术即可实现:

服务器相互告知一下对方的IP,双方客户端有一方变成服务端,打开侦听端口,另一方作为客户端直接连接即可。



查看完整版本: [-- c/s架构下,如何端对端传文件 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled