乡 乡村月光 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-01 #21 to mjy87: C必需吗?我在A和D之间建立的已经是HTTP连接
M mjy97 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-01 #22 如果防火墙不允许你用HTTP外的其它协议访问外网的话(你还是需要向外发信息的),只能内部用HTTP出去,在外网通过C转换成别的协议,然后以此协议来访问D。也相当于A通过此协议访问D了。反过来,D到A的信息也是反转换的方式。
如果防火墙不允许你用HTTP外的其它协议访问外网的话(你还是需要向外发信息的),只能内部用HTTP出去,在外网通过C转换成别的协议,然后以此协议来访问D。也相当于A通过此协议访问D了。反过来,D到A的信息也是反转换的方式。
乡 乡村月光 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-01 #24 to jingtao: 服务器绑定分配完以后,如何和连接上来的客户端通讯?用原有的连接吗?另外,一个绑定是否能让多个客户端连接?谢谢!
乡 乡村月光 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-01 #25 to mjy87: 其实D本身就是一个HTTP协议的服务器,是从Indy的TIdCustomHTTPServer继承下来的,只是在一定条件下执行自己的服务线程直接读取数据(用AThread.Connection.ReadBuffer)进行处理,别的没做改动,我关心的是,如果客户端在有代理服务器的情况下用IdHTTP.WriteBuffer发数据,是否能通过代理服务器到达服务器端?只要能到就没任何问题了。
to mjy87: 其实D本身就是一个HTTP协议的服务器,是从Indy的TIdCustomHTTPServer继承下来的,只是在一定条件下执行自己的服务线程直接读取数据(用AThread.Connection.ReadBuffer)进行处理,别的没做改动,我关心的是,如果客户端在有代理服务器的情况下用IdHTTP.WriteBuffer发数据,是否能通过代理服务器到达服务器端?只要能到就没任何问题了。
S skill_dfw Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-01 #27 可以考虑使用XML,HTTPGET什么的,有个SERVER的支持SOCKS,我记不清了,在ASP中可以,不知道转到DELPHI上可以不?在MSXML4中有这么一个对象
乡 乡村月光 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-02 #29 通过实验和分析,基本上可以确定利用socks 5在有握手服务器的情况下实现不同局域网内机器点对点通讯的方法: 1)不同局域网后的机器A和B同时连接到握手服务器C 2)局域网内的机器A连接到socks服务器D,通过验证后发送BIND绑定,取得一个地址和端口 3)A把该地址和端口发送到C,由C通知B用该地址和端口连接 4)B连接到D,D就会把B的连接信息(地址和端口)发送到A,这时A和B之间的连接就通过D建立起来了 本方法已经实验成功,不知道是不是所有的socks 5代理都提供这样的功能?
通过实验和分析,基本上可以确定利用socks 5在有握手服务器的情况下实现不同局域网内机器点对点通讯的方法: 1)不同局域网后的机器A和B同时连接到握手服务器C 2)局域网内的机器A连接到socks服务器D,通过验证后发送BIND绑定,取得一个地址和端口 3)A把该地址和端口发送到C,由C通知B用该地址和端口连接 4)B连接到D,D就会把B的连接信息(地址和端口)发送到A,这时A和B之间的连接就通过D建立起来了 本方法已经实验成功,不知道是不是所有的socks 5代理都提供这样的功能?
乡 乡村月光 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-02 #30 估计QQ等软件就是这么工作的,不知道为什么提出问题一个礼拜而没有人给出一个象样的答案!也许这个问题泄露了某些秘密的技术,我不是程序员,只能说声遗憾,没有Delphi,也许我不会对程序设计感兴趣。为搞清楚这个问题,忙了几小时,终于有了结果,也突然感觉到好累,看来做程序员真辛苦,幸好我不是,呵呵,感谢支持的朋友,欢迎就这个问题继续交流!
估计QQ等软件就是这么工作的,不知道为什么提出问题一个礼拜而没有人给出一个象样的答案!也许这个问题泄露了某些秘密的技术,我不是程序员,只能说声遗憾,没有Delphi,也许我不会对程序设计感兴趣。为搞清楚这个问题,忙了几小时,终于有了结果,也突然感觉到好累,看来做程序员真辛苦,幸好我不是,呵呵,感谢支持的朋友,欢迎就这个问题继续交流!
L leaber Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-02 #31 呵呵, 其实,唉!!! 我的邮箱是LEABER@165E.COM 能不能给些资料学习一下,谢谢!~! 一个和你深有同感的DFW
L let_it_be Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-02 #32 我的感觉是,你不如自己写个代理服务器,这样你就可以控制了。
M mjy97 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-02 #34 to乡村月光: 看来你是有结果了,直到现在好象才明白你的意图,其实和我的想法差不多,关于SOCKE5的BIND绑定原理我是知道的,只不过没动手试过,现在看到你实验成功了,不错。因为目前,主要是NAT代理为主,SOCKET5代理的方式相对较少了。不知你实验过严格NAT的P2P吧?当然SOCKET5、非严格NAT(直接中转就OK)和严格NAT三种方式都支持了才能说是比较全面的解决P2P问题,当然如一校园网、城域网等一些封闭端口和防火墙过滤的难度更大,HTTP的代理不知道能否解决此问题。大家一起努力啦!!
to乡村月光: 看来你是有结果了,直到现在好象才明白你的意图,其实和我的想法差不多,关于SOCKE5的BIND绑定原理我是知道的,只不过没动手试过,现在看到你实验成功了,不错。因为目前,主要是NAT代理为主,SOCKET5代理的方式相对较少了。不知你实验过严格NAT的P2P吧?当然SOCKET5、非严格NAT(直接中转就OK)和严格NAT三种方式都支持了才能说是比较全面的解决P2P问题,当然如一校园网、城域网等一些封闭端口和防火墙过滤的难度更大,HTTP的代理不知道能否解决此问题。大家一起努力啦!!