82 lines
1.9 KiB
Erlang
82 lines
1.9 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_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_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).
|
|
|
|
%% 权限控制
|
|
-define(PACKET_POLICY_REQUEST, 16#b0).
|
|
-define(PACKET_POLICY_REPLY, 16#b1).
|
|
|
|
%% 欢迎消息
|
|
-define(PACKET_WELCOME, 16#4F).
|
|
|
|
%% ARP查询
|
|
-define(PACKET_ARP_REQUEST, 16#50).
|
|
-define(PACKET_ARP_RESPONSE, 16#51).
|
|
|
|
%% 数据转发
|
|
-define(PACKET_STUN_DATA, 16#FF).
|
|
|
|
%% 二级命名
|
|
|
|
%% 定义事件信息
|
|
-define(EVENT_KNOWN_IP, 16#01).
|
|
-define(EVENT_DROP_IP, 16#02).
|
|
-define(EVENT_NAT_CHANGED, 16#03).
|
|
-define(EVENT_SEND_REGISTER, 16#04).
|
|
-define(EVENT_NETWORK_SHUTDOWN, 16#FF).
|
|
|
|
%% stun请求的attr
|
|
-define(STUN_ATTR_CHANGE_NONE, 0).
|
|
-define(STUN_ATTR_CHANGE_PORT, 1).
|
|
-define(STUN_ATTR_CHANGE_PEER, 2). |