不是吧!我觉得代理是应用层的东西了。就是说,发给谁不是底层的IP包知道的,而是将IP包中的数据组合成的命令所决定的。
比如说,机器A通过代理B和机器C通讯。那么,机器A会给B发一个从C取的命令,这是一个应用层的命令,是由服务程序来处理的。服务程序将这个命令分成一个个IP包发给B,在B中的再将IP包组合成命令,交给在B中的服务程序,你的明白的?
比如说,机器A通过代理B和机器C通讯。那么,机器A会给B发一个从C取的命令,这是一个应用层的命令,是由服务程序来处理的。服务程序将这个命令分成一个个IP包发给B,在B中的再将IP包组合成命令,交给在B中的服务程序,你的明白的?
一个网吧 有2台以上的工作站,1台服务器作代理
使用QQ上网聊天 我想QQ 功能只能使用端口和IP
来识别机器吧?那么在Internet 上传送的信息
应该都是这一个服务器的IP
如果我发一个消息给在这个网吧上网的人那么在这
消息的IP 部分应该是这个服务器的地址那么服务
器把这个消息发给哪一个工作站呢?
Proxy的原理需要了解。机器A发想消息至Proxy。---connect(ProxyServer);
send(msg);
注意:这里没有closesocket()
假设为s1 socket
Proxy收到消息---connect(目的机器)
send(msg) to 目的机器
recv(msg) from 目的机器
closesocket(目的机器)
Proxy再将消息返回机器A
send(msg) 利用s1---未关闭!
最后,机器A再closesocket(s1)也就是讲,socket一直是通的Proxy不是根据机器的IP地址决定将消息发给谁的。
比如:一台机器同时运行两个IE,怎么办?好像从来没出过问题嘛。
了解一下socket的编程吧。。
当一个人登录QQ的服务器时,只会把他的IP地址告诉服务器吧?我如果再登录上
去只能人服务器上获得他的IP地址吧?我要发一个消息,或者我要与他建立一个
联接的话,这时我总只能向这个IP发信号吧?那么这个proxy收到了这个联接请求
了之后,会把这个请求与哪一个socket关联上呢?