qq用udp,msn用tcp,具体比如文本聊天,传输文件,音频视频是怎么点对点通信的
1.udp可以通过punchhole的方式打洞,但是qq怎么判断两个客户端是否在一个局域网
2.文本聊天都没有通过服务器中转么?都是p2p的?
3.qq传输文件也是服务器中转?(我一个朋友告诉我qq传输文件是服务器中转的,只有都是公网的情况下才建立直连,不知道是不是这样)
4.msn的tcp怎么实现穿透NAT,不会也是服务器中转吧望高手指点

解决方案 »

  1.   

    你这个题也说得太大了吧,一个小点就够开好几个帖子了。
    我说出我的观点
    1。可以通过双方的出口IP(网关IP)来判断
    2。文本聊天一般是通过服务器中转,为了一次文字发送穿透代价太大,也可以直接点对点
    3。一般服务器中转,传输文件一般是TCP
    4。upnp
      

  2.   

    http://community.csdn.net/Expert/topic/3501/3501260.xml?temp=.3206903
      

  3.   

    to kingzai,
    不大,其实我只想讨论这种概念,具体实现不需要详细在这里讨论了,因为具体实现已经有很多帖子说明了哈,所以提这几个问题,不多啊,追求完美,几句话就可以说明了哈
    1.这个很容易判断两个都在NAT后的,但是一个在NAT后,一个不在NAT后,怎么判断?
    2.其实文本聊天完全也可以穿透NAT建立直连啊,并没有浪费资源为代价啊,只是多做几个动作而已
    3.qq现在传输文件也是TCP,那服务器负担不是好大...
    4.关于upnp完全没概念,哪里有介绍没有,学习一把谢谢
      

  4.   

    QQ和MSN都是用的UDP(数据)+ TCP(传文件)。但他们的通信机制有着本质的区别。
      

  5.   

    msn和qq都采取UDP+TCP??这个说的更玄了....
      

  6.   

    qq绝对是服务器中转的,我作证!聊天是UDP,视频是TCP,文件就更不用说了,最可恨的是,聊天数据编码或加密了,谁了解一定要说说。
      

  7.   

    qq视频TCP,怎么穿透NAT的啊,好像qq是可以穿透的吧,用HTTP隧道?聊天加密多半是des加密的吧
      

  8.   

    我保证聊天是中转的,文件是不是中转不清楚。
    我之所以说视频TCP,是因为qq根本没有花屏现象,延迟很厉害,再加上一旦断开一下,绝对要重新启动,我和一个做视频的朋友讨论过,一致认为TCP。监视一下端口,什么都明白了,可惜我没环境,唉,就那么几个摄像头,测试用都不够,还能给我私人聊天?
      

  9.   

    呵呵 视频没有花屏现象,延迟 并不能说明是tcp
    当你不为会员的时候 都在nat后面那么2方有时候是连不上的 那么这个肯定是udp 
    如果为会员 他才会提供 服务器中转
    用udp有那么大的延时也正常 那时网络状况引起的
    我也使作过视频的
      

  10.   

    没有花屏怎么解释?我就不信他UDP能保证不丢包!
      

  11.   

    QQ视频是tcp 我也同意~~
    想知道 抓包 不就得了~~数据感觉 也是 通过服务器中转 反也有 点对点得有可以看qq是ip的 版本的qq 如果 上面 没有显示 ip 而是什么 “服务器中转 ” 那么 他是通过服务器 的
    懂我的意思吗??:)
      

  12.   

    QQ视频是tcp?那它是通过http隧道穿透的NAT??