python - TCP 套接字代理转发器
问题描述
我的问题更笼统而不是具体。我想实现一个简单的套接字代理服务器,服务器将接收来自多个客户端的请求,并使用单个且唯一的连接将其转发到另一台服务器,然后返回到客户端。
问题是,我可以保持 TCP 连接打开(也许使用 ping?)并在其中传输数据,因此最终服务器只会计算一个连接吗?就像下面的例子。
client 1 - - -| | Single Con |
client 2 - - -| Proxy | --------> |Destination
client 3 - - -| Server | <-------- |Server
client 4 - - -| | |
有什么建议或例子吗?
解决方案
是否可以在同一个 TCP 连接内共享多个客户端连接完全取决于应用程序协议。TCP 本身没有任何东西可以阻止它,但 TCP 也没有任何东西明确支持它。需要通过应用层的一些复用来实现不同客户端流(即最初的客户端连接)之间的区别,并且目标服务器必须支持这一点,即必须能够再次对其进行解复用。
推荐阅读
- c++ - 如果语句在 while 循环中不起作用(C++)
- python - 在 Excel 中清理 Twitter 数据
- javascript - 如何在 ts 文件中使用 js 方法?
- javascript - 如何使用 create-react-app(无弹出)导入共享打字稿代码?
- javascript - 如何将刻度分配为与 D3.js 中轴所基于的对象相同的对象的不同键值?
- c++ - C++ Horner's Rule - 递归数组实现
- javascript - 从 mousemove 事件中获得更精确的目标选择
- python - Django-如何获取与另一个相关的模型的内容?
- c - 打印字符串时出现分段错误
- node.js - 如何用猫鼬填充以下代码?