ws_server->listen(QHostAddress::Any, port);
}
-void WSServer::add_init_command(const string &cmd)
-{
- init_commands.push_back(cmd + "\r\n");
-}
-
void WSServer::set_connection_callback(const std::function<void(bool)> &callback)
{
connection_callback = callback;
QWebSocket *sock = ws_server->nextPendingConnection();
connect(sock, &QWebSocket::disconnected, this, &WSServer::disconnected);
- for (const string &cmd : init_commands) {
- sock->sendTextMessage(QString::fromStdString(cmd));
- }
clients.insert(sock);
connection_callback(true);
}
public:
WSServer(const std::string &host, int port);
- void add_init_command(const std::string &cmd);
void set_connection_callback(const std::function<void(bool)> &callback);
void send_command(const std::string &cmd);
void change_port(int port);
private:
void thread_func();
- std::vector<std::string> init_commands;
std::function<void(bool)> connection_callback;
QWebSocketServer *ws_server;