GATE服务实现的架构

时间:2020-12-31 02:10:51

每个CLIENT(简称P)到代理(简称G)的连接都会对应的有一条代理到数据处理服务器(简称S)的连接

通过握手协议G上会记录P-G和G-S两个连接的SOCKET的关联。

握手协议:参考SOCKET5代理。总的来说需要G知道P发来的数据发给那一台S,以及S发来的数据转给那一个P。然后关联两个连接的SOCKET。

s1        s2
  
g1        g2


p1       p2


P1连接G1,数据转给S2(G1和S2之间建立连接)(数据转给S2是P1通过握手协议使G1知道数据转给S2的)(P1通过模的方式知道数据应该给S2)
P2连接G2,数据处理是在S1上。

示例:P1给P2发数据

上行数据:
P1数据发给G1,G1根据关联的SOCKET找到G1和S2之间的连接发给S2

转发数据:
S2通过模P2的方式知道P2在S1上,然后数据给S1,S1把数据给G2,G2通过关联的SOCKET(S1-G2和G2-P2之间的SOCKET),找到P2,把数据转给P2。