Ваш код выглядит в целом правильно, но давайте разберем несколько возможных причин, по которым сообщения в консоли не отображаются.
1. **Проблема с подключением клиента**: Убедитесь, что ваш клиент действительно подключается к серверу. Проверьте, используете ли вы правильный URL и порт при подключении. Например, если вы используете WebSocket-клиент, убедитесь, что он подключается к `ws://localhost:8787`.
2. **Кодировка**: В вашем коде используются символы для HTML-ряда, такие как `<` и `>`. Убедитесь, что вы используете правильные символы `<` и `>`. Это может вызвать проблемы при компиляции, если у вас неправильно скопирован код.
3. **Конфликт версий компилятора или библиотеки**: Убедитесь, что используемая вами версия библиотеки uWebSockets соответствует вашему компилятору и системе. При сборке убедитесь, что все зависимости правильно установлены.
4. **Обработка событий WebSocket**: Убедитесь, что вы действительно получаете события подключения и сообщений. Чтобы дополнительно проверить, вы можете добавить обработчик для события закрытия соединения, чтобы удостовериться, что подключение действительно устанавливается и закрывается.
5. **Правильная настройка сервера**: Попробуйте добавить отладочные сообщения на всех этапах работы сервера:
```cpp
#include <iostream>
#include <uwebsockets/App.h>
using namespace std;
struct Pri {
string Prir;
};
int main() {
setlocale(LC_ALL, "RU");
short port = 8787;
uWS::App().ws<Pri>("/*", {
.open = [](auto* ws) {
cout << "New connected!" << endl;
},
.message = [](auto* ws, string_view message, uWS::OpCode opCode) {
cout << "Received message: " << message << endl;
},
.close = [](auto* ws, int code, string_view message) {
cout << "Connection closed." << endl;
}
}).listen(port, [port](auto* token) {
if (token) {
cout << "Server started, port: " << port << endl;
} else {
cout << "Server failed to start." << endl;
}
}).run();
return 0;
}
```
6. **Отладка в браузере**: Откройте инструменты разработчика в вашем браузере (обычно `F12`), перейдите на вкладку "Консоль" и проверьте наличие сообщений об ошибках или предупреждениях. Это поможет понять, могли бы быть проблемы с клиентом.
7. **Совместимость окружения**: Проверьте, правильно ли настроена ваша среда разработки и нет ли конфликтов с другими библиотеками или версиями.
Если все вышеперечисленное не помогло, попробуйте создать минимальный пример, упрощая код до тех пор, пока он не заработает, и затем постепенно добавляйте функциональность обратно, чтобы изолировать найденную проблему.