首页 > 解决方案 > TCP 套接字代理转发器

问题描述

我的问题更笼统而不是具体。我想实现一个简单的套接字代理服务器,服务器将接收来自多个客户端的请求,并使用单个且唯一的连接将其转发到另一台服务器,然后返回到客户端。

问题是,我可以保持 TCP 连接打开(也许使用 ping?)并在其中传输数据,因此最终服务器只会计算一个连接吗?就像下面的例子。

client 1 - - -|        |  Single Con |
client 2 - - -| Proxy  |  -------->  |Destination
client 3 - - -| Server |  <--------  |Server
client 4 - - -|        |             |

有什么建议或例子吗?

标签: pythonpython-3.xsocketsreverse-proxy

解决方案


是否可以在同一个 TCP 连接内共享多个客户端连接完全取决于应用程序协议。TCP 本身没有任何东西可以阻止它,但 TCP 也没有任何东西明确支持它。需要通过应用层的一些复用来实现不同客户端流(即最初的客户端连接)之间的区别,并且目标服务器必须支持这一点,即必须能够再次对其进行解复用。


推荐阅读