#pragma once //#include //#include #include "typeDef.h" #include #include //typedef websocketpp::server 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 ACTIONS; std::map< ERR_MSG, std::string> MSG; };