Мне нужна помощь с websocketspp / websockets ++, пожалуйста (https://github.com/zaphoyd/websocketpp).
Я открыт для других более простых библиотек, также C, если это в целом лучше option :)
Моя общая цель - создать веб-страницу websockets вместо клиента te lnet для DikuMUD.
Я использую пример "echo_server", который работает хорошо.
Я пытаюсь сохранить обработчик соединения "hdl" из одного обратного вызова, а затем повторно использовать его для отправки другого сообщения клиенту. Мне кажется, что hdl - это класс, который создается / уничтожается в стеке при каждом вызове функции, например, on_message.
Я бы хотел как-то сохранить hdl, например, в std :: map, чтобы я может найти его и использовать этот поиск hdl для отправки другого сообщения позже тому же клиенту.
Вот пример. Извините за пустоту, я привык к C и легкому C ++ :)
std::map<void *, void *> g_cMapHandler;
// Define a callback to handle incoming messages
void on_message(server* s, websocketpp::connection_hdl hdl, message_ptr msg)
{
void *myExample = 0; // A value I need to be able to retrieve
// Using &hdl here doesn't make sense, I presume hdl gets destroyed when on_message ends.
g_cMapHandler[&hdl] = myExample;
// But I can't figure out what really represents hdl? Maybe there a fd / file descriptor
// I can store somehow, and then how do I rebuild a hdl from it?
}
Спасибо: -)