VB 关于网络思路(满分求助)

来源:百度知道 编辑:UC知道 时间:2024/09/26 04:26:27
用过的人都知道,VB的WINSOCK控件的网络连接有TCP和UDP两种协议,之前也遇到过很多问题,比如连接不上远程的对方,但后来都明白了
原来内网的用户可以主动与外网的用户建立连接,而外网的用户却不能主动与内网的用户建立连接。内网的用户必须要在路由上设置端口印射才行... ...
可我不明白,像迅雷等下载工具,是点对点进行数据传输的,QQ也是,这是为什么?我用WINSOCK控件就不能在两个不同内网用户间建立连接通信吗?这是网络协议的问题吗?
有没有高手可以指点一下,告诉下方法或原理,谢谢了

只有双方至少有一方是透明的,才能建立起连接,包括TCP和UDP
QQ并不不是全部都是P2P的发送,还有中转模式

UPNP是为了自动建立端口影射,让内网计算机透明暴露的方法

UDP/TCP打洞必须通过第三方暴露的计算机(服务器)来协助完成,但单两台计算机,想连接防火墙后边的内网计算机TCP是完全不可能的,UDP有一定的几率能够碰上,也不是100%成功

两台不同内网里的计算机,想连接上的可能是几乎不存在的,等IPV6吧,那时候你就不要考虑这个问题了

两台内网里的计算机,无论是QQ,还是迅雷都是不可能直接连接的,如果实在想连,也只有QQ能通过UDP打穿,迅雷下载东西,必须用TCP保障,所以不能

TCP的5次握手还有TCPID都不能限定了这个结局,曾经有人提出SYN欺骗之类的方法打穿TCP,目前没有成功

你知道TCP和UDP两种协议,这只是网络编程的最初级。
但你知道 HTTP 和 FTP 等等的原理了吗??
点对点则是P2P技术。

迅雷太复杂了,我个人觉得~~~~~~~~~~~~~~

QQ他是使用路由器或者防火墙的UpNP函数。
实际上,内网用户在外网认为这个网关只是一台普通的计算机。
所以当然连接不上!
迅雷是找附近的快资源,再用HTTP,FTP连接上,不是服务器连机器!
P2P电驴是使用upnp,upnp的函数可以在百科里找到!