diff --git a/server/wsproxy/GCListener.cc b/server/wsproxy/GCListener.cc index cf747b5..6245b77 100644 --- a/server/wsproxy/GCListener.cc +++ b/server/wsproxy/GCListener.cc @@ -3,6 +3,7 @@ #include #include #include +#include #include #include @@ -121,6 +122,11 @@ static void GSListeneron_error(a8::TcpListener*, int type, int errorid) f8::UdpLog::Instance()->Debug("GCListeneron_error %d %d", {type, errorid}); } +static void GSUdpListeneron_error(a8::UdpListener*, int errorid) +{ + f8::UdpLog::Instance()->Debug("GCUdpListeneron_error %d", {errorid}); +} + void GCListener::Init() { tcp_listener_ = new a8::TcpListener(); @@ -130,6 +136,13 @@ void GCListener::Init() tcp_listener_->bind_address = "0.0.0.0"; tcp_listener_->bind_port = JsonDataMgr::Instance()->GetConf()->At("listen_port")->AsXValue(); tcp_listener_->Open(); + + udp_listener_ = std::make_shared(); + udp_listener_->on_error = GSUdpListeneron_error; + + udp_listener_->bind_address = "0.0.0.0"; + udp_listener_->bind_port = JsonDataMgr::Instance()->GetConf()->At("listen_udp_port")->AsXValue(); + udp_listener_->Open(); } void GCListener::UnInit() diff --git a/server/wsproxy/GCListener.h b/server/wsproxy/GCListener.h index e257555..e424ee3 100644 --- a/server/wsproxy/GCListener.h +++ b/server/wsproxy/GCListener.h @@ -37,5 +37,5 @@ class GCListener : public a8::Singleton private: a8::TcpListener *tcp_listener_ = nullptr; - a8::UdpListener *udp_listener_ = nullptr; + std::shared_ptr udp_listener_; };