Специальное предложение
  • +5
Оставили заявки
Программирование

Бесплатный вебинар

18 ноября 2022

Создаём собственный сервер на C++

День 2 из 3: Интенсив Язык C++: создаём высокопроизводительный сервер за 3 дня

  • Михаил Овчинников

    Главный методист технического направления Skillbox
О вебинаре
Бесплатный вебинар «Создаём собственный сервер на C++». Вы познакомитесь с принципами построения многопоточного приложения и пропишете основную логику работы чат-сервера.

Вебинар подойдёт: новичкам и практикующим программистам.
 
Обсудим:
  •  протокол общения между сервером и клиентом,
  •  основные принципы построения многопоточного приложения,
  •  работу сетевого соединения,
  •  организацию многопоточного сервера с помощью фреймворка,
  •  логику работы чат-сервера.

Спикер — Михаил Овчинников, главный методист технического направления Skillbox и специалист в области разработки высоконагруженных систем и обработки больших данных. 17 лет работает в программировании, 12 лет — в образовательных проектах.

Рекомендованные

106 комментариев
  • Вячеслав Кирюхин

    Вячеслав Кирюхин

    22:43

    Слишком бысро, слишком много иформации. Примерно с середины первой половины уже не следил

  • Skillbox.Live

    Skillbox.Live

    22:42

    Телеграм-чат интенсива - https://t.me/+Ug8XFsq8mHAxNTI6

  • Igor Snyatkov

    Igor Snyatkov

    22:41

    подскажите как зайти в чат, ссылку.

  • Серёга Подпивасов

    Серёга Подпивасов

    22:40

    Если пользователь будет обновлять страницу, ему будет присваиваться новый id?

  • Ярослав Туляков

    Ярослав Туляков

    22:40

    А мы будем делать интерфейc?

  • Skillbox.Live

    Skillbox.Live

    22:39
  • Святослав Хасков

    Святослав Хасков

    22:39

    что за ошибка

  • Святослав Хасков

    Святослав Хасков

    22:38

    error: while looking for uwebsocket:x86-windows: error: while loading uwebsocket: The port directory (D:\libraly\vcpkg-master\vcpkg-master\ports\uwebsocket) does not exist

  • Gleb Novichkov (J)

    Gleb Novichkov (J)

    22:35

    не угадали. я бы заменил "json parsed_data" на "const json& parsed_data", бо так быстрее работать будет. A payload выглядит разумно.

  • Skillbox.Live

    Skillbox.Live

    22:30

    Телеграм-чат интенсива - https://t.me/+Ug8XFsq8mHAxNTI6

  • Ирина Матросова

    22:18

    да проблема при написании.\vcpkg.exe install uwebsockets error: building libuv:x86-windows failed with: BUILD_FAILED error: Please ensure you're using the latest port files with `git pull` and `vcpkg update`. Then check for known issues at: https://github.com/microsoft/vcpkg/issues?q=is:issue+is:open+in:title+libuv You can submit a new issue at: https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[libuv]+Build+error Include '[libuv] Build error' in your bug report title, the following version information in your bug description, and attach any relevant failure logs from above. vcpkg-tool version: 2022-11-10-5fdee72bc1fceca198fb1ab7589837206a8b81ba vcpkg-scripts version: unknown

  • Skillbox.Live

    Skillbox.Live

    22:17

    .\vcpkg.exe install nlohmann-json

  • Marvelous Captain

    Marvelous Captain

    22:14

    Что делать с ошибкой error C2440: <function-style-cast>: невозможно преобразовать "initializer list" в "uWS::App"?

  • Skillbox.Live

    Skillbox.Live

    22:13

    ws = new WebSocket("ws://127.0.0.1:9001");ws.onmessage = ({data}) => console.log(">SERVER>", data);

  • Gleb Novichkov (J)

    Gleb Novichkov (J)

    22:12

    делать нужно хорошо сразу.

  • Вячеслав Кирюхин

    Вячеслав Кирюхин

    22:12

    Variable 'latest_user_id' cannot be implicitly captured in a lambda with no capture-default specified

  • Alex Dgarasov

    Alex Dgarasov

    22:10

    Наверно ++latest_user_id?

  • Gleb Novichkov (J)

    Gleb Novichkov (J)

    22:09

    int latest_user_id -> uint64_t latest_user_id, ибо юзеров много не бывает.

  • Серёга Подпивасов

    Серёга Подпивасов

    21:58

    Михаил, здравствуйте, когда пользователь будет обновлять страницу, ему будет присваиваться новый id? Также спустя какое-то время работы сервера id будут присваиваться > 1000 из-за инкремента. Объясните это.

  • Даулет Кайпанов

    Даулет Кайпанов

    21:58

    уже неделю жду звонка, дважды звонил,что бы узнать, когда проконсультируются... но нет. Нет ответа. Придется в 3 раз звонить

  • Ирина Матросова

    21:57

    error: building libuv:x86-windows failed with: BUILD_FAILED error: Please ensure you're using the latest port files with `git pull` and `vcpkg update`. Then check for known issues at: https://github.com/microsoft/vcpkg/issues?q=is:issue+is:open+in:title+libuv You can submit a new issue at: https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[libuv]+Build+error Include '[libuv] Build error' in your bug report title, the following version information in your bug description, and attach any relevant failure logs from above. vcpkg-tool version: 2022-11-10-5fdee72bc1fceca198fb1ab7589837206a8b81ba vcpkg-scripts version: unknown

  • Gleb Novichkov (J)

    Gleb Novichkov (J)

    21:53

    Почему такие бешенные скидки, практически в половину?

  • Skillbox.Live

    Skillbox.Live

    21:51

    Фигурные скобки в uWS::App не нужны, надо просто uWS::App()

  • VLad Kozlov

    VLad Kozlov

    21:48

    Почему выбрали именно uNetworking?

  • Вячеслав Кирюхин

    Вячеслав Кирюхин

    21:48

    пишет синтаксические ошибки

  • ZX Spectator

    ZX Spectator

    21:45

    😂

  • Gleb Novichkov (J)

    Gleb Novichkov (J)

    21:43

    Теперь вроде понятнее стало, спасибо

  • Вячеслав Кирюхин

    Вячеслав Кирюхин

    21:42

    Сложнааа и слишком быстро

  • Анатолий Анатольевич Коренченков

    Анатолий Анатольевич Коренченков

    21:41

    Ошибка C2440 <function-style-cast>: невозможно преобразовать "initializer list" в "uWS::App" EchoServer

  • Skillbox.Live

    Skillbox.Live

    21:38
  • Gleb Novichkov (J)

    Gleb Novichkov (J)

    21:38

    не надо делать using namespace std; такое к добру не приводит.

  • Gleb Novichkov (J)

    Gleb Novichkov (J)

    21:35

    Ну просто покажите структуру, из которой берутся все эти поля. Так, думаю, все понятнее будет. Она, как бы, 2-й параметр метода uWS::App({})::ws<T>()

  • Gleb Novichkov (J)

    Gleb Novichkov (J)

    21:33

    Криптовиками он употребляется, WebSocket

  • Igor Snyatkov

    Igor Snyatkov

    21:32

    а где в телеграмм?

  • Gleb Novichkov (J)

    Gleb Novichkov (J)

    21:27

    Так я и думал, что соберется

  • Gleb Novichkov (J)

    Gleb Novichkov (J)

    21:26

    Предположение только одно: кривые ручки разработчиков библиотеки

  • NyanCoder

    NyanCoder

    21:25

    Оказывается, я терпеть не могу смотреть лекции онлайн, посмотрю в записи, bye )

  • Анатолий Анатольевич Коренченков

    Анатолий Анатольевич Коренченков

    21:25

    Пути не прописаны

  • Вячеслав Кирюхин

    Вячеслав Кирюхин

    21:24

    Cmake???

  • Denilson

    Denilson

    21:24

    стандарт старый, с++14