Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <uwebsockets/App.h>
- using namespace std;
- // Структура, где мы будем хранить информацию о каждом подключившемся
- struct UserData {
- int id;
- string name;
- };
- // Чтобы записывать типы покороче
- typedef uWS::WebSocket<false, true, UserData>* websock;
- int main()
- {
- int latest_user_id = 10; // ID последнего подключившегося
- uWS::App app = uWS::App(); // Создали приложение
- //app.get("/", )
- app.ws<UserData>("/*", {
- // "[]() {}" - Лямбда - функция
- // открытие соединения
- // Назначить ID
- // Сообщить всем что человек (такой-то) подключился
- .open = [&latest_user_id](websock ws) {
- UserData* data = ws->getUserData(); // Получаем данные пользователя
- data->id = latest_user_id++; // Каждому следующему подключив. будет назначен следующий АЙди
- cout << "New user connected: " << data->id << endl;
- },
- // при получении информации от клиента
- // "отправить приватное сообщение" = PRIVATE_MSG
- // "отправить публичное сообщение" = PUBLIC_MSG
- // "представиться" = SET_NAME
- .message = [](websock ws, string_view message, uWS::OpCode opcode) {},
- // при закрытии соединения
- // Сообщить всем что человек (такой-то) отключился
- .close = [](websock ws, int, string_view) {},
- });
- app.listen(9001, [](auto *) {});
- app.run();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement