社区
通信技术
帖子详情
很多人讨论过,QQ传文件是用TCP的,而TCP又是不能穿透NAT的,那么为何现版本的QQ可以互相传送文件呢(两人位于NAT后)?
笑天居士
2005-03-02 10:12:21
很多人讨论过,QQ传文件是用TCP的,而TCP又是不能穿透NAT的,那么为何现版本的QQ可以互相传送文件呢(两人位于NAT后)?
...全文
827
26
打赏
收藏
很多人讨论过,QQ传文件是用TCP的,而TCP又是不能穿透NAT的,那么为何现版本的QQ可以互相传送文件呢(两人位于NAT后)?
很多人讨论过,QQ传文件是用TCP的,而TCP又是不能穿透NAT的,那么为何现版本的QQ可以互相传送文件呢(两人位于NAT后)?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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中的研究与实
现
介绍如何通过
TCP
穿透
局域网实
现
P2P通信,学生在学校研究的学术论文
NAT
穿透
解决方案
详细介绍
NAT
穿透
需要各自软件和硬件技术,包括
tcp
和UDP对局域网防火墙的
穿透
方案
使用
TCP
协议的简单聊天工具
该程序主要实
现
了在局域网中进行消息
传
递和
文件
传
输的功能。其中消息
传
递和
文件
传
输都采用
TCP
协议。
QQ
程序客户端
QQ
程序客户端 模拟
QQ
,实
现
外网通信和邮件发送同时要下载我的服务器端
P2P打洞(
TCP
,UDP 公网)shhxkl.zip
c++ 版udp打洞实
现
,server放到一个有固定IP的服务上,两个client借助server打洞后直接通讯.
通信技术
4,387
社区成员
28,918
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章