87 lines
2.1 KiB
Erlang
87 lines
2.1 KiB
Erlang
%%%-------------------------------------------------------------------
|
|
%%% @author anlicheng
|
|
%%% @copyright (C) 2024, <COMPANY>
|
|
%%% @doc
|
|
%%%
|
|
%%% @end
|
|
%%% Created : 09. 3月 2024 14:53
|
|
%%%-------------------------------------------------------------------
|
|
-author("anlicheng").
|
|
|
|
%% 定义version
|
|
-define(VERSION_1, 1).
|
|
|
|
-define(DEFAULT_PASS, <<"`encrypt!`">>).
|
|
|
|
-define(PACKET_EMPTY, 16#00).
|
|
-define(PACKET_REGISTER_SUPER, 16#01).
|
|
-define(PACKET_REGISTER_SUPER_ACK, 16#02).
|
|
-define(PACKET_REGISTER_SUPER_ACKNOWLEDGE, 16#03).
|
|
-define(PACKET_REGISTER_SUPER_NAK, 16#04).
|
|
-define(PACKET_UNREGISTER, 16#05).
|
|
|
|
%% 信息查询
|
|
-define(PACKET_QUERY_INFO, 16#06).
|
|
-define(PACKET_PEER_INFO, 16#07).
|
|
|
|
%% 心跳机制
|
|
-define(PACKET_PING, 16#08).
|
|
-define(PACKET_PONG, 16#09).
|
|
|
|
%% 推送的事件信息, 不需要返回值
|
|
-define(PACKET_EVENT, 16#10).
|
|
|
|
%% 定义事件信息
|
|
-define(PACKET_EVENT_KNOWN_IP, 16#01).
|
|
-define(PACKET_EVENT_DROP_IP, 16#02).
|
|
-define(PACKET_EVENT_NAT_CHANGED, 16#03).
|
|
-define(PACKET_EVENT_SEND_REGISTER, 16#04).
|
|
|
|
%% 网络关闭
|
|
-define(PACKET_EVENT_NETWORK_SHUTDOWN, 16#FF).
|
|
|
|
%% 推送命令信息, 需要等待返回值
|
|
-define(PACKET_COMMAND, 16#11).
|
|
-define(PACKET_COMMAND_ACK, 16#12).
|
|
|
|
%% 网络发生变化
|
|
-define(PACKET_COMMAND_CHANGE_NETWORK, 16#01).
|
|
-define(PACKET_COMMAND_UPGRADE, 16#02).
|
|
|
|
%% 网络流量统计
|
|
-define(PACKET_FLOW_TRACER, 16#15).
|
|
|
|
-define(PACKET_REGISTER, 16#20).
|
|
-define(PACKET_REGISTER_ACK, 16#21).
|
|
|
|
%% stun相关的请求
|
|
|
|
%% 请求
|
|
-define(PACKET_STUN_REQUEST, 16#30).
|
|
%% 响应
|
|
-define(PACKET_STUN_REPLY, 16#31).
|
|
|
|
%% stun网络类型检测
|
|
%% 请求
|
|
-define(PACKET_STUN_PROBE, 16#32).
|
|
%% 响应
|
|
-define(PACKET_STUN_PROBE_REPLY, 16#33).
|
|
%% stun消息转发
|
|
-define(PACKET_STUN_PROBE_RELAY, 16#3a).
|
|
|
|
%% stun请求的attr
|
|
-define(STUN_ATTR_CHANGE_NONE, 0).
|
|
-define(STUN_ATTR_CHANGE_PORT, 1).
|
|
-define(STUN_ATTR_CHANGE_PEER, 2).
|
|
|
|
%% 数据转发
|
|
-define(PACKET_STUN_DATA, 16#FF).
|
|
|
|
%% arp查询 request -> response
|
|
-define(PACKET_ARP_REQUEST, 16#a0).
|
|
-define(PACKET_ARP_RESPONSE, 16#a1).
|
|
|
|
-record(id_generator, {
|
|
tab :: atom(),
|
|
increment_id = 0 :: integer()
|
|
}). |