diff --git a/Server/CMakeLists.txt b/Server/CMakeLists.txt index 3de61fc..dba82f8 100644 --- a/Server/CMakeLists.txt +++ b/Server/CMakeLists.txt @@ -11,7 +11,6 @@ add_executable(Server main.cpp ServiceLogic.h ServiceLogic.inl ServiceLogic.cpp ServiceManager.h SystemUsage.h SystemUsage.cpp - UdpServer.h UdpServer.cpp Live2dBackend.h Live2dBackend.cpp WeChatContext/CorporationContext.h WeChatContext/CorporationContext.cpp WeChatContext/WeChatContext.h WeChatContext/WeChatContext.cpp diff --git a/Server/UdpServer.cpp b/Server/UdpServer.cpp deleted file mode 100644 index 8fa762d..0000000 --- a/Server/UdpServer.cpp +++ /dev/null @@ -1,82 +0,0 @@ -#include "UdpServer.h" -#include "BoostLog.h" -#include "boost/endian.hpp" -#include -#include - -UdpServer::UdpServer(boost::asio::io_context &io_context) - : m_socket(io_context, boost::asio::ip::udp::endpoint(boost::asio::ip::udp::v4(), 8088)), m_reveiveBuffer(512), - m_timer(io_context) { - - // start recieve. - m_socket.async_receive_from( - boost::asio::buffer(m_reveiveBuffer), m_remotePoint, - std::bind(&UdpServer::reveiveHandler, this, std::placeholders::_1, std::placeholders::_2)); - - sendData(); - - boost::system::error_code error; - auto address = boost::asio::ip::make_address("127.0.0.1", error); - if (error) { - LOG(error) << error.message(); - } else { - m_remotePoint = boost::asio::ip::udp::endpoint(address, 1234); - } -} - -void UdpServer::reveiveHandler(const boost::system::error_code &error, std::size_t bytes_transferred) { - LOG(info) << "Received byte size: " << bytes_transferred - << ",remote ip address: " << m_remotePoint.address().to_string() << std::endl; - if (error) { - LOG(error) << error.message(); - return; - } - - handleReceivedBuffer(m_reveiveBuffer); - - // continue recieve next datagram. - m_socket.async_receive_from( - boost::asio::buffer(m_reveiveBuffer), m_remotePoint, - std::bind(&UdpServer::reveiveHandler, this, std::placeholders::_1, std::placeholders::_2)); -} - -void UdpServer::sendHandler(const boost::system::error_code &error, std::size_t bytes_transferred) { - if (error) { - LOG(error) << error.message(); - } -} - -void UdpServer::handleReceivedBuffer(std::vector &data) { -} - -void UdpServer::sendData() { - using namespace std::chrono_literals; - static uint32_t index = 0; - m_timer.expires_after(1ms); - m_timer.async_wait([this](const boost::system::error_code &error) { - if (error) { - LOG(error) << error.message(); - return; - } - std::random_device rd; // 将用于获得随机数引擎的种子 - std::mt19937 gen(rd()); // 以 rd() 播种的标准 mersenne_twister_engine - std::uniform_int_distribution distribution(std::numeric_limits::min(), - std::numeric_limits::max()); - - std::array data; - data[0] = 0xAA; - data[1] = 0xFF; - data[2] = 0x55; - data[3] = 0x00; - auto bigEndian = reinterpret_cast(&data[4]); - *bigEndian++ = boost::endian::native_to_big(index++); - for (size_t i = 0; i < 100; i++) { - *bigEndian++ = boost::endian::native_to_big(distribution(gen)); - } - - m_socket.async_send_to(boost::asio::buffer(data), m_remotePoint, - std::bind(&UdpServer::sendHandler, this, std::placeholders::_1, std::placeholders::_2)); - - sendData(); - }); -} diff --git a/Server/UdpServer.h b/Server/UdpServer.h deleted file mode 100644 index 33690d8..0000000 --- a/Server/UdpServer.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef UDPSERVER_H -#define UDPSERVER_H - -#include - -class UdpServer { -public: - UdpServer(boost::asio::io_context &io_context); - -protected: - /** - * @brief reveiveHandler - * @param error Result of operation. - * @param bytes_transferred Number of bytes received. - */ - void reveiveHandler(const boost::system::error_code &error, std::size_t bytes_transferred); - - /** - * @brief sendHandler - * @param error Result of operation. - * @param bytes_transferred Number of bytes sent. - */ - void sendHandler(const boost::system::error_code &error, std::size_t bytes_transferred); - - void handleReceivedBuffer(std::vector &data); - - void sendData(); - -private: - boost::asio::ip::udp::socket m_socket; - boost::asio::ip::udp::endpoint m_remotePoint; //客户端端点 - std::vector m_reveiveBuffer; - boost::asio::steady_timer m_timer; -}; - -#endif // UDPSERVER_H diff --git a/Server/main.cpp b/Server/main.cpp index 7dbabdc..03c35ae 100644 --- a/Server/main.cpp +++ b/Server/main.cpp @@ -7,7 +7,6 @@ #include "MediaServer.h" #include "ProxyListener.h" #include "ServiceManager.h" -#include "UdpServer.h" #include "WeChatContext/CorporationContext.h" #include "WeChatContext/WeChatContext.h" #include "WebApplication/Application.h" @@ -94,7 +93,6 @@ int main(int argc, char const *argv[]) { application->ioContext().stop(); }); - auto udpServer = std::make_shared(application->ioContext()); auto mediaServer = std::make_shared(554, false); auto webApp = Singleton::instance(application->getWtPort(), application->getApplicationRoot(), application->getDocumentRoot());