社区
通信技术
帖子详情
很多人讨论过,QQ传文件是用TCP的,而TCP又是不能穿透NAT的,那么为何现版本的QQ可以互相传送文件呢(两人位于NAT后)?
笑天居士
2005-03-02 10:12:21
很多人讨论过,QQ传文件是用TCP的,而TCP又是不能穿透NAT的,那么为何现版本的QQ可以互相传送文件呢(两人位于NAT后)?
...全文
858
26
打赏
收藏
很多人讨论过,QQ传文件是用TCP的,而TCP又是不能穿透NAT的,那么为何现版本的QQ可以互相传送文件呢(两人位于NAT后)?
很多人讨论过,QQ传文件是用TCP的,而TCP又是不能穿透NAT的,那么为何现版本的QQ可以互相传送文件呢(两人位于NAT后)?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
26 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BraveHeart2222
2005-03-31
打赏
举报
回复
ding
stevens2009
2005-03-30
打赏
举报
回复
m
chinaseen
2005-03-29
打赏
举报
回复
刚才又进行一次,在一个VLAN内两台电脑进行文件传输,发现用的是TCP直连,并非是UDP协议.我们初步推测这样做是为了稳定性考虑的,因为分组发生了丢失,则可以用TCP协议可以进行重传.有点类似FTP进行大量数据传送.如果用UDP进行传送,发生了数据报丢失,则会造成严重的不稳定性.
h0
2005-03-29
打赏
举报
回复
本人拙见:
1、不管是TCP还是UDP,他们都是属于传输层。
2、TCP是面向连接的可靠传输,而UDP则是非连接的不可靠传输。
3、传输层协议在我们日常编程的过程中一般与Socket对应,许多高级语
言在此基础上还做了进一步封装。
4、在TCP/UDP编程中,必须指明对方的IP和端口号。
5、QQ中既用了TCP,也用了UDP!在处理NAT时,对于每一个内部IP,在请求时,都在会QQ服务器
中留下一个有效的外部IP+Port!这个外部IP就是那个内网的服务器IP,而端口号则映射子网中
的某一台机器。QQ服务器就通过那个IP来找到双方所在的服务器,再通过端口号来定位相应子
网的计算机,从而实现双方通信的。
chinaseen
2005-03-29
打赏
举报
回复
我们今天用ethereal抓包工具对使用QQ的情况进行了监控.所处的网络是可与外网相连的校园局域网.如果是与属于局域网的QQ通信的话就不经过QQ服务器直接通信,否则就要经过QQ服务器转发数据.但发现QQ都涉及了TCP和UDP两种协议.
飞雪蓝天射白鹿
2005-03-29
打赏
举报
回复
RUDP
qrlvls
2005-03-28
打赏
举报
回复
http://midcom-p2p.sourceforge.net/
qrlvls
2005-03-28
打赏
举报
回复
http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt
qrlvls
2005-03-28
打赏
举报
回复
其实使用RawSocket也是可以实现的,只是比UDP稍复杂一点而已
eradium
2005-03-28
打赏
举报
回复
使用udp传文件的时候,肯定是要在上层的应用层协议里面使用类似tcp的东西来保证数据的完整性的(可以直接使用tcp over udp,也可以用其他自定义的协议)。
qq传文件和视频都是tcp和udp都可以使用的。从qq的提示信息可以看到有tcp中转,udp中转,udp直连三种方式。tcp直连除非是能在nat上开固定的端口映射(或者使用uPnp之类的自动开指定的端口映射),否则靠双发同时发起连接是不可能的(这个概率可能比彗星撞地球的概率还少)。
Juchiyufei
2005-03-28
打赏
举报
回复
学习ing
starcbh
2005-03-07
打赏
举报
回复
tcp同步打开可以做,就是双方同时发出三方握手的seq----sqe-ack包……!!
其实和udp差不多
fuju
2005-03-07
打赏
举报
回复
楼上的是不是开发 qq 的啊~~~
学习ing....
Daydreamnet
2005-03-07
打赏
举报
回复
是tcp和udp同时使用的。当tcp可以连接时是用tcp,当位于不同的NAT后面时是通过应用层用udp仿照tcp的模式进行运作,所以相对速度会慢。当是会员时才会实现服务器中转(顺便利用这个来显示一下会员优势吧。)楼上说的tcp同步打开的方法成功率是很低的,虽然说是存在可能性。而在应用层实现udp的序列发送则是完全可能的,不过对网络协议的功力要求相当的深。
barice
2005-03-07
打赏
举报
回复
在应用层用UDP来模拟TCP ??
可以提供參考文件嗎?謝謝..
bys_home
2005-03-06
打赏
举报
回复
同意楼上的说法!
thanksu
2005-03-03
打赏
举报
回复
QQ传文件是UDP的
不知道穿透NAT是什么意思
——————————————————————
私网穿越
arrowcy
2005-03-03
打赏
举报
回复
如果双方都在NAT之后的话,要通过服务器中转的
bbcharm
2005-03-03
打赏
举报
回复
TCP 应该是转发的吧
zhengda1936
2005-03-03
打赏
举报
回复
在应用层用UDP来模拟TCP应该还是做得到的吧。
加载更多回复(6)
基于
TCP
协议的
NAT
穿透
技术在P2P中的研究与实
现
P2P网络是指网络中的每台计算机既可以作为客户端又可以作为服务器端,网络中没有中心服务器,各节点间可以直接通信。P2P网络的一个突出优点是易于扩展,但其难点之一是如何让
位于
不同
NAT
后面的节点能够发
现
对方并...
NAT
穿透
解决方案
4. TURN(Traversal Using Relays around
NAT
)技术:当直接的
NAT
穿透
不成功时,可以使用TURN技术,通过一个中继服务器来转发数据,实
现
间接通信。 5. ICE(Interactive Connectivity Establishment)技术:它是一...
使用
TCP
协议的简单聊天工具
TCP
协议支持流式
传
输,这意味着
文件
可以被连续不断地发送,而接收端也能连续不断地接收。在实际操作中,
文件
会被分割成多个数据段,每个段都会封装在
TCP
报文中进行
传
输。接收端收到所有数据段后,会根据
TCP
的确认...
QQ
程序客户端
QQ
程序客户端是一款流行的即时通讯应用,它允许用户通过网络进行实时聊天、
文件
传
输、群组
讨论
等多种交流方式。在深入探讨
QQ
程序客户端之前,我们首先需要理解它的基本工作原理和功能。 1. **即时通讯机制**:
QQ
...
P2P打洞(
TCP
,UDP 公网)shhxkl.zip
3. B收到A的信息后,直接向A的公网IP和端口发送UDP报文,尝试
穿透
NAT
。 4. 如果
NAT
允许,A会接收到B的报文,这样通信链路就建立起来了。 在这个C++实
现
的项目中,可能包含以下几个关键部分: - UDP套接字编程:创建...
通信技术
4,390
社区成员
28,906
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章