47 lines
1.2 KiB
C++
47 lines
1.2 KiB
C++
#pragma once
|
|
//#include <websocketpp/config/asio_no_tls.hpp>
|
|
//#include <websocketpp/server.hpp>
|
|
#include "typeDef.h"
|
|
#include <map>
|
|
#include <mutex>
|
|
//typedef websocketpp::server<websocketpp::config::asio> websocketsvr;
|
|
//typedef websocketsvr::message_ptr message_ptr;
|
|
|
|
using websocketpp::lib::placeholders::_1;
|
|
using websocketpp::lib::placeholders::_2;
|
|
using websocketpp::lib::bind;
|
|
|
|
enum ERR_MSG;
|
|
|
|
class WebSocketService
|
|
{
|
|
public:
|
|
static WebSocketService* getInstance();
|
|
|
|
void Start(uint16_t port);
|
|
|
|
void Stop();
|
|
|
|
void WebSocketRespon(websocketsvr *server, websocketpp::connection_hdl& hdl, ERR_MSG err_code, std::string param = "");
|
|
|
|
void SendMsg(std::string msg);
|
|
private:
|
|
|
|
WebSocketService();
|
|
~WebSocketService();
|
|
WebSocketService(WebSocketService&) = delete;
|
|
WebSocketService& operator=(const WebSocketService&) = delete;
|
|
|
|
void OnWebSocketOpen(websocketsvr *server, websocketpp::connection_hdl hdl);
|
|
void OnWebSocketClose(websocketsvr *server, websocketpp::connection_hdl hdl);
|
|
void OnWebSocketMessage(websocketsvr *server, websocketpp::connection_hdl hdl, message_ptr msg);
|
|
|
|
private:
|
|
std::mutex m_mt_send;
|
|
websocketsvr m_web_server;
|
|
websocketpp::connection_hdl m_hdl;
|
|
std::map<std::string, MSG_ACTION> ACTIONS;
|
|
std::map< ERR_MSG, std::string> MSG;
|
|
};
|
|
|