WLG/utility/search_dev.hpp

40 lines
1.1 KiB
C++
Raw Permalink Normal View History

2024-10-22 20:56:21 +08:00
#ifndef SEARCH_DEV_HPP_
#define SEARCH_DEV_HPP_
#include <boost/container/detail/singleton.hpp>
2024-10-19 16:02:41 +08:00
#include <boost/asio/ip/udp.hpp>
#include <boost/asio.hpp>
#include <json/json.h>
2024-10-22 20:56:21 +08:00
#include "common/global.hpp"
#include "common/common_func.hpp"
2024-10-19 16:02:41 +08:00
2024-10-22 20:56:21 +08:00
class SearchDev {
2024-10-22 19:04:25 +08:00
public:
SearchDev(boost::asio::io_service &ioservice);
2024-10-19 16:02:41 +08:00
~SearchDev();
void MultiCastRecv();
void MultiCastRecv_1();
void Run();
void Stop();
void Restart();
2024-10-22 19:04:25 +08:00
2024-10-19 16:02:41 +08:00
private:
void Init();
void GwRouteInit();
2024-10-22 19:04:25 +08:00
void HandleRecv_1(const boost::system::error_code &pEc, size_t pBytesRecv);
void HandleSend_1(const char *pMsg, const boost::system::error_code &pEc);
private:
enum { BUF_LENGTH = 128 };
2024-10-22 20:56:21 +08:00
boost::asio::ip::udp::socket mSockRecv_1; //组播地址1
boost::asio::ip::udp::endpoint mRecvEP1;
boost::asio::ip::udp::endpoint mListenEP1;
boost::asio::ip::udp::endpoint mSendEndpoint1; //组播发送端点
2024-10-19 16:02:41 +08:00
char mRecvBuf1[BUF_LENGTH];
char mSendBuf1[BUF_LENGTH];
};
2024-10-22 20:56:21 +08:00
typedef boost::container::dtl::singleton_default<SearchDev> search_dev;
#endif // SEARCH_DEV_HPP_