类型

  • 基于端口
  • 基于http代理/Socket代理
    • 中转式
    • CS式

数据结构设计

中转包(单位:字节)

+------+------+---+---+---+---+-----+----+---+---+----+----+-----+-----+------+------+
| 0    | 1    | 2 | 3 | 4 | 5 | 6   | 7  | 8 | 9 | 10 | 11 | 12  | 13  | 14   | 15   |
+======+======+===+===+===+===+=====+====+===+===+====+====+=====+=====+======+======+
| head | type | src ip        | src port | dest ip         | dest port | data length |
+------+------+---------------+----------+-----------------+-----------+-------------+
| data                                                                               |
+------------------------------------------------------------------------------------+

说明

type: 指定中转包类型,参考socket的事件类型。

注意事项

  1. 由于广域网设备mtu差异问题,未启动加密时data的长度不超过512字节,加密时data的长度根据加密算法的要求而定,不得超过65535字节。
  2. Socket的行为在各端之间必须保持一致。

参考资料