Network programming socks协议是如何工作的
目前我需要实现socks客户端。根据RFC,Socks协议有两个主要命令:Network programming socks协议是如何工作的,network-programming,socks,Network Programming,Socks,目前我需要实现socks客户端。根据RFC,Socks协议有两个主要命令:CONNECT和BIND连接用于将出站连接从socks的客户端转发到所需的服务器。绑定用于将入站连接从所需服务器转发到socks的客户端 我的客户的工作如下: 首先,它连接到socks服务器,我们称之为“客户端连接” 然后它发出命令 我对“客户关系”的使用有一些误解。因此,我有以下问题: “客户端连接”只能用于一个连接命令,对吗?因此,对于每个需要的通信,我需要创建一个新的“客户机连接”,然后发出CONNECT命令 对于绑
CONNECT
和BIND
<代码>连接用于将出站连接从socks的客户端转发到所需的服务器。绑定用于将入站连接从所需服务器转发到socks的客户端
我的客户的工作如下:
绑定
,首先,我需要发出CONNECT
,然后发出命令BIND。这些命令必须在一个“客户端连接”中发出,对吗BIND
socket上可以接收多少入站连接?只有一个BIND
情况下的流量?我们有一个到socks服务器的“客户端连接”。对于“客户端连接”,socks服务器有一个到所需服务器的连接和一个来自所需服务器的传入连接。因此,socks服务器可以从两个连接接收数据。如何将此流量混合到“客户端连接”在我看来,如果我在一个“客户端连接”中发出两个连续的命令CONNECT和BIND,那么socks服务器将有两个与我的“客户端连接”的“所需服务器”的连接。一个是连接的结果,另一个是“所需服务器”将连接到socks的服务器绑定套接字。这两个连接只为一个“客户端连接”创建。所以这可能是需要混合的地方。也许,我们需要在一个单独的“客户端连接”中发布BIND?在这种情况下,sock服务器可以在两个方向上传输流量,而不会发生混合?