QQ的工作原理是怎么样的?它是怎么样支持那么多用户同时登陆的?它的后台服务器是怎么设置的?是不是每个用户登陆的时候都要先登陆到服务器啊?那和某个好友聊天的时候是不是就换成点对点的了?怎么转换的?它用的是Socket技术吗?还有别的网络技术吗?它是怎么实现发送离线消息的?怎么实现群发消息的呢?我是菜鸟 问题很多!请各位见谅,希望高手指点一二!

解决方案 »

  1.   

    那么后台服务器是怎么配置的呢?点到点是怎么实现的呢?还是建立Socket连接吗?是客户端建立还是服务器建立呢?
      

  2.   

    http://www.pcdog.com/network/html/2004618/1862004391_1.htm
    你看看BT原理,对客户端上线的服务器处理应该差不多
      

  3.   

    当然支持,登陆时发送消息告诉server说你登陆而已,由server通知你的好友说你上线(如有必要)
    其他的基本不用通过server,那么用户多少有什么关系
    user<->user聊天都是自己建立连接的,除非建立不了还会又server中转,好友不在线也又server中转
      

  4.   

    我也认为是C to C的,但今天用网络捕获工具发现,发给在线好友的消息是往服务器上去的xx(4000)--->Server(8000),有些不解??
    大量用户使用了服务器集群技术吧....
      

  5.   

    在问几个问题 马上给分!谢谢大家了!!还是建立点对点的通话的问题!到底好友间对话是点对点通讯吗?
    如果是的话那么怎么建立Socket通道呢?谁是客户端谁是服务器????如果是通过服务器中转 那么速度会那么快吗?
    那么多人都跟服务器建立连接 服务器要是用Socket连接支持的了那么多吗?
      

  6.   

    goodbox(追忆现实): 从哪弄来的QQ应用协议?
    根据这个协议不就可以往腾讯的服务器灌水了?
      

  7.   

    {
    .QQ使用的是UDP+TCP,一般默认的是UDP-->无状态连接的,好友之间应该是P2P的,你用D7的IDUDPServer都能做的
            .QQ有集群服务器.
            .可能先是直接发,超时再通过服务器转发(这个在以前的版本有提示)
            .上述的协议是几百年前的版本了.        }
      

  8.   

    如果用Socket似乎不太可能,人太多了!!!
      

  9.   

    既然大家都讨论这个问题:那么我想知道p to p,大多都是内网的IP,那这个代理怎么使用?
    因为如果是内网IP,肯定要使用到代理,不然就建立不了连接!知道的顶上来,我想楼主也希望知道吧,^_^ 借宝地学习 ^_^
      

  10.   

    我想是这样的,QQ先判断一下
    1 如果是局域网,那么可以直接用UDP协议
    2 如果有网关,那么恐怕使用TCP/IP协议
    3 如果跨很多网,那么要从QQ服务器上经过,
      

  11.   

    是否允许 QQ 访问网络?
    操作:成为网络服务程序
    协议:UDP
    端口:6000
    名称:QQ
    版本:1, 0, 0, 1
    创建:2004-12-14
    路径:E:\Program Files\Tencent\QQ\QQ.exe这是我的天网防火墙的信息,可见QQ是基于UDP协议的
      

  12.   

    先用UDP连接 如果不行再用TCP/IP
      

  13.   

    哪位大人能解释下P2P连接的具体做法呢????wuyu1981(方圆)的问题我也很想知道答案
      

  14.   

    P2P:
      1.用户登录服务器,服务得到用户的经过NAT的公网IP;如;211.10.5.32:3300(此端口号由网关产生,负责将外网数据发给内网的指定主机,即你所登录的位置),
      2.用户得到好友的公网IP后(通过服务器得到),发送握手包,建立彼此方向的打洞包(随便发点数据就行,重要的是一个方向,如内网A发一个数据包给外网B,此时B才有可能发送数据给A,让A成功接收,否则A的网关会丢弃此包,了解???!!)
      3.双方通信成功,
      4.如果NAT的类型比较特殊会有: 内网A发数据到S,网关NAT时建立一个端口3300,若此时A再发数据到B,有的NAT会在此端口上加一个SESSION,端口不变,而有的NAT会新建立一个端口,此时P2P将失效,这是一个很值得讨论和解决的问题,因为我也正在遇到这个问题.
      

  15.   

    根据我用防火墙监测试的结果,QQ的连接过程如下:
    在登录的时候,QQ会先和服务器建立一个Tcp/iP 连接,
    然后会建立4个UDP服务器,监听4000, 6000, 6001, 1085端口,如
    果有消息的话,会随机的选用一个和客户端连接!