Advertisement
Guest User

Untitled

a guest
Aug 12th, 2022
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.73 KB | None | 0 0
  1. #include <iostream>
  2. #include <uwebsockets/App.h>
  3. using namespace std;
  4.  
  5. // Структура, где мы будем хранить информацию о каждом подключившемся
  6. struct UserData {
  7.     int id;
  8.     string name;
  9. };
  10.  
  11. // Чтобы записывать типы покороче
  12. typedef uWS::WebSocket<false, true, UserData>* websock;
  13.  
  14. int main()
  15. {
  16.     int latest_user_id = 10; // ID последнего подключившегося
  17.  
  18.     uWS::App app = uWS::App(); // Создали приложение
  19.     //app.get("/", )
  20.     app.ws<UserData>("/*", {
  21.        
  22.         // "[]() {}" - Лямбда - функция
  23.  
  24.         // открытие соединения
  25.         // Назначить ID
  26.         // Сообщить всем что человек (такой-то) подключился
  27.         .open = [&latest_user_id](websock ws) {
  28.             UserData* data = ws->getUserData(); // Получаем данные пользователя
  29.             data->id = latest_user_id++; // Каждому следующему подключив. будет назначен следующий АЙди
  30.             cout << "New user connected: " << data->id << endl;
  31.         },
  32.  
  33.         // при получении информации от клиента
  34.         // "отправить приватное сообщение" = PRIVATE_MSG
  35.         // "отправить публичное сообщение" = PUBLIC_MSG
  36.         // "представиться" = SET_NAME
  37.         .message = [](websock ws, string_view message, uWS::OpCode opcode) {},
  38.  
  39.         // при закрытии соединения
  40.         // Сообщить всем что человек (такой-то) отключился
  41.         .close = [](websock ws, int, string_view) {},
  42.     });
  43.    
  44.     app.listen(9001, [](auto *) {});
  45.     app.run();
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement