SOCKS5 绑定是持久的还是一次性的?

Posted

技术标签:

【中文标题】SOCKS5 绑定是持久的还是一次性的?【英文标题】:Is SOCKS5 bind persistent, or one-time only? 【发布时间】:2011-08-25 07:31:45 【问题描述】:

我一直在研究RFC 1928,但我并不清楚 BIND 操作的描述。据我了解,设置顺序如下:

    客户端与 SOCKS5 服务器建立连接 客户端执行 CONNECT 请求 客户端与 SOCKS5 服务器建立新的 TCP 连接并请求 BIND 服务器立即回复 BIND 操作的结果 在收到传入连接后,SOCKS5 服务器向客户端发送通知

第 5 步对我来说不是很清楚。之后我是否必须重新请求 BIND 以允许更多传入连接?

据我了解,相同的 TCP 连接(在步骤 3 中建立)用于与接受的对等方进行通信。如果我需要继续接受同一地址:端口上的连接怎么办?到底有没有可能?

【问题讨论】:

【参考方案1】:

对于要接受的每个连接,您都需要一个单独的 BIND 请求,因为当客户端连接到绑定端口时,SOCKS 代理只会发回 1 个通知。 SOCKS5 代理是否允许同一 IP/端口上的多个 BIND 请求取决于代理的实现。

【讨论】:

以上是关于SOCKS5 绑定是持久的还是一次性的?的主要内容,如果未能解决你的问题,请参考以下文章

KnockoutJs - 为啥初始化绑定处理程序只被调用一次?

嵌套在惰性一次性 ng-repeat 绑定中的绑定是不是只绑定一次?

一次持久化多个对象

表达式的 Angular 惰性一次性绑定

Redis进阶之事物&持久化

主席树的学习