%%%------------------------------------------------------------------- %%% @author anlicheng %%% @copyright (C) 2024, %%% @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). -record(id_generator, { tab :: atom(), increment_id = 0 :: integer() }).