我们经常使用QQ的人知道:在用户端写入注册信息后提交,信息会送入到腾讯公司的服务器进行处理分发一个QQ号,然后进行其他的管理。  如实实现的呢?
在网页上我们可以用表单提交;象以上的方式是如何实现的?麻烦给些提示??
有没有类似的代码参考吗?谢谢大家

解决方案 »

  1.   

    web上面的就不用说了,本地客户程序说说吧。
    服务器上有中间层来处理。
      

  2.   

    简单啊,就是用socket和服务器通讯啊。QQ在第一次登录时记录下服务器的地址,以后就总向这个服务器通讯了。比如远程服务器开一个端口10000,那么我就和服务器IP:10000端口通讯,然后发送数据什么的啊。
      

  3.   

    转:
     OICQ之间的通迅应该是这样的,当你登录时,会QQ服务器提供你当前所在的IP地址各端口
    号,然后当你的好友上线时,就会从QQ服务得到这个IP和Port,以后的通迅才能继续!
    上面可能没说得太清楚,下面举个例子来解释,
    比如说,你在一家网吧里上网,这个网吧的服器有一个真正的IP地址(可能是临时的--对于
    拨号上网;或者是固定的--对于专线上网)比如是61.168.45.120,同时有一个网吧局域网
    的IP地址,比如192.168.0.1。而你在该网吧内IP地址为192.168.0.3的机器上用OICQ,当你
    上线时,QQ会按你设定的路由发送数据(对于网吧,一般是设IP为192.168.0.3的机器的默
    认网关为网吧的服务器,即192.168.0.1的机器)把你所在机器的IP(192.168.0.3)和Port
    (一般第一个QQ为4000,二个为4001,依次类推,这时设为4000)通知网吧服器,由于网吧
    的服务器(也可说是一个网关)要同时满足多台机器上网的需要,会在它的局域网地址(
    即192.168.0.1上)动态的分配一个Port(如 4782)与你通迅,同时再在真正的IP(
    即61.168.45.120)上分配一个Port(比如 5472)将你的数据发送到互联网上,这里即为向
    QQ服务器发出它的IP和Port(这些都是在网吧服务器上运行的一个代理软件 如WinGate、
    SyGate等 所做操作)。
    {注意:这个发出的IP是网吧服务器的那个真正IP,Port为相对于这个IP的一个端口(5472)}
    现在QQ服务器就把你的QQ当着是在IP为61.168.45.120的机器的Port 5472上运行了,当你的
    好友上线时,它就会得到这个IP和Port,然后和你通迅,即把所有发给你的数据都发到
    IP为61.168.45.120的机器的5472 Port上,然后网吧服务器上所装的代理软件(比如
    WinGate、SyGate等)就会把这些数据通过局域网地址(IP:192.168.0.1,Port:4782)转发到
    你所在的机器(192.168.0.3)的相应Port(4000)上,即完成通迅。
        其实这中间主要有两个方面  一、就是网吧服务器中的代理,它负则对局域到互联网、互联
    网到局域网的数据进行转发。第二,也是关键的一点就是QQ每次上线时会向QQ服务器注册自
    己所在的IP和Port,并从QQ服务器中读出在线好友所在的IP和Port信息而进行通讯。当然处
    于局域网时这些操作又都是通过网吧服务器中的代理完成的。
        以上是我个人的一些见解,如有不对之处,还望各位行家里手多多指点、共同研究进步。