我们经常使用QQ的人知道:在用户端写入注册信息后提交,信息会送入到腾讯公司的服务器进行处理分发一个QQ号,然后进行其他的管理。 如实实现的呢?
在网页上我们可以用表单提交;象以上的方式是如何实现的?麻烦给些提示??
有没有类似的代码参考吗?谢谢大家
在网页上我们可以用表单提交;象以上的方式是如何实现的?麻烦给些提示??
有没有类似的代码参考吗?谢谢大家
解决方案 »
- 我想请问使用setup factory制作安装程序时,默认会在开始程序菜单中有链接,如何设置没有链接??
- 请问如何模拟按下 alt+左键头(其他方向键也可以)?这个问题应该很难!解决送100分。
- F1Book中ObjCreatePicture方法使用??
- 关于SQL查询问题!急!!!!100分
- 定义Create函数时override的含义?
- **** 深圳的DELPHI爱好者聚会通知! ****
- dxDBGrid问题 关于多选egoMultiSelect属性
- 对memo或者richedit的翻页,怎样判断已经翻到了最后一页?
- 有没有人读过中科院的在职研究生?如何?顺便给分!
- ActiveX 控件怎么避开IE的安全检查的?
- 有谁做过LED点阵屏的串口通信? (应该有人会吧)
- delphi+sqlserver下的数据同步问题!!!急
服务器上有中间层来处理。
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信息而进行通讯。当然处
于局域网时这些操作又都是通过网吧服务器中的代理完成的。
以上是我个人的一些见解,如有不对之处,还望各位行家里手多多指点、共同研究进步。