嗨,是否可以创建充当TCP代理服务器的中间应用程序?它由两部分组成。IDTCPServer和IDTCPClient。其理念是:
应用程序>连接到IDTCPServer>所有数据都重定向到>连接到目标的IDTCPClient。
TCPClient接收到的数据将被重定向到IDTCPServer和应用程序。
我做了这么简单的应用程序,它可以在HTTP请求中工作,但是当我尝试将它用于RDP客户机时,它失败了(我得到错误,协议是错误的)。有可能吗?我使用readbyte方法,每个单字节被发送到另一个iohandler。
我想创建某种虚拟TCP通道,允许通过NAT进行连接。
我不够清楚。我想实现的是这样的目标:
RDP服务器idtcpclient>nat>idtcpserver
最佳答案
应用程序>连接到IDTCPServer>所有数据都重定向到>连接到目标的IDTCPClient。
TCPClient接收到的数据将被重定向到IDTCPServer和应用程序。
事实上,indy有一个专门用于这个目的的组件-TIdMappedPortTCP
。
将其MappedHost
和MappedPort
属性设置为指向预期目标,然后激活它,所有入站连接将自动定向到目标,并在两个方向上来回传递数据。