From 0c370d5eda6c38b3d04296f777ae5ca85a18091f Mon Sep 17 00:00:00 2001 From: anlicheng <244108715@qq.com> Date: Wed, 3 Dec 2025 17:50:07 +0800 Subject: [PATCH] fix udp server --- apps/dns_proxy/src/dns_proxy_sup.erl | 8 ++++++++ apps/dns_proxy/src/dns_server.erl | 15 +++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/apps/dns_proxy/src/dns_proxy_sup.erl b/apps/dns_proxy/src/dns_proxy_sup.erl index c29bb0a..0d75827 100644 --- a/apps/dns_proxy/src/dns_proxy_sup.erl +++ b/apps/dns_proxy/src/dns_proxy_sup.erl @@ -35,6 +35,14 @@ init([]) -> shutdown => 2000, type => supervisor, modules => ['dns_handler_sup'] + }, + #{ + id => dns_server, + start => {dns_server, start_link, []}, + restart => permanent, + shutdown => 2000, + type => worker, + modules => ['dns_server'] } ], {ok, {SupFlags, ChildSpecs}}. diff --git a/apps/dns_proxy/src/dns_server.erl b/apps/dns_proxy/src/dns_server.erl index c20a310..aedf48c 100644 --- a/apps/dns_proxy/src/dns_server.erl +++ b/apps/dns_proxy/src/dns_server.erl @@ -1,11 +1,14 @@ -module(dns_server). --export([start/0, stop/0]). +-export([start_link/0, init/0]). --define(LISTEN_PORT, 53). +-define(LISTEN_PORT, 15353). -start() -> +start_link() -> + {ok, spawn_link(?MODULE, init, [])}. + +init() -> dns_cache:init(), - dns_zone_loader:load("priv/local.zone"), + %dns_zone_loader:load("priv/local.zone"), %% 配置上游 DNS Upstreams = [ @@ -18,10 +21,6 @@ start() -> io:format("DNS Forwarder started on UDP port ~p~n", [?LISTEN_PORT]), loop(Sock). -stop() -> - gen_udp:close(?LISTEN_PORT), - ok. - loop(Sock) -> receive {udp, Sock, Ip, Port, Packet} ->