2
我在我的C++项目中使用uWebSockets,在那里我有自己的自定义事件循环。这是一个while循环,每次执行之间有一个可变的延迟。它看起来是这样的:C++ uWebSockets在一个线程中集成事件循环
while (true) {
std::this_thread::sleep_for (variableTime);
// Execute logic
}
我以前一直用另一个线程来执行逻辑,但我想给uWebSockets循环与我的循环集成。类似这样的:
#include <iostream>
#include <uWS/uWS.h>
using namespace std;
int main() {
uWS::Hub h;
h.onMessage([](uWS::WebSocket<uWS::SERVER> *ws, char *message, size_t length, uWS::OpCode opCode) {
ws->send(message, length, opCode);
});
if (h.listen(3000)) {
h.run();
}
while (true) {
std::this_thread::sleep_for (variableTime);
h.getMessages(); // <-- doesn't call `onMessage` until this is executed
// Execute logic
}
}
我该如何去做这件事?
这正是我一直在寻找的!我已经用平行线程解决了它,所以我希望他们早些时候添加它:P但是比从未更好。无论如何非常感谢! –