2024-10-19 16:02:41 +08:00
|
|
|
#ifndef _WL_SEARCHDEV_
|
|
|
|
|
#define _WL_SEARCHDEV_
|
|
|
|
|
#include <boost/asio/ip/udp.hpp>
|
|
|
|
|
#include <boost/asio.hpp>
|
|
|
|
|
#include <json/json.h>
|
|
|
|
|
#include "../common/SH_global.h"
|
|
|
|
|
#include "../utility/SH_MySingleton.hpp"
|
|
|
|
|
#include "../common/SH_CommonFunc.hpp"
|
|
|
|
|
|
|
|
|
|
using namespace boost::asio;
|
2024-10-22 19:04:25 +08:00
|
|
|
// using boost::system::error_code;
|
2024-10-19 16:02:41 +08:00
|
|
|
|
2024-10-22 19:04:25 +08:00
|
|
|
class SearchDev : public MySingleton<SearchDev> {
|
|
|
|
|
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 };
|
|
|
|
|
// io_service mIoSev;
|
|
|
|
|
ip::udp::socket mSockRecv_1; //组播地址1
|
2024-10-19 16:02:41 +08:00
|
|
|
ip::udp::endpoint mRecvEP1;
|
|
|
|
|
ip::udp::endpoint mListenEP1;
|
2024-10-22 19:04:25 +08:00
|
|
|
ip::udp::endpoint mSendEndpoint1; //组播发送端点
|
2024-10-19 16:02:41 +08:00
|
|
|
char mRecvBuf1[BUF_LENGTH];
|
|
|
|
|
char mSendBuf1[BUF_LENGTH];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|