Простейшая пара "Клиент-Сервер" на сокетах (Windows, C++)

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ส.ค. 2024
  • Небольшое теоретическое введение по сокетам и сетевым взаимодействиям.
    Тестовые приложения: клиент и сервер.
    ОС: Windows.
    С применением: Windows Sockets.

ความคิดเห็น • 30

  • @user-zy9vs2bc6m
    @user-zy9vs2bc6m 11 หลายเดือนก่อน +2

    По воле учебы пришлось изучать сокеты и клиент-сервер. Видео прекрасно помогло как теоретически разобраться в происходящем, так и реализовать на практике полученные знания. Автору большое спасибо!

  • @user-mm5ex3ez3p
    @user-mm5ex3ez3p 2 ปีที่แล้ว +9

    Отличное видео для новичков, мне понравилось, что автор объяснял практически все. Так что час времени потрачен не зря)

  • @qotpiq1623
    @qotpiq1623 4 หลายเดือนก่อน

    Как же хорошо что в интернете есть видео, такие как это.
    Спасибо!

  • @beatlegear
    @beatlegear 6 หลายเดือนก่อน +1

    Спасибо за видео. Жаль, что на канале больше не появлялось следующих обучающих видеоматериалов

  • @ivanvostrilov1578
    @ivanvostrilov1578 2 ปีที่แล้ว +2

    Дай бох вам здоровья, мега полезное видео.

  • @ivanpetrov8600
    @ivanpetrov8600 4 หลายเดือนก่อน

    Большое спасибо, Добрый (и умный) человек!

  • @nikalay9010
    @nikalay9010 ปีที่แล้ว +1

    Роман, у тебя талант, так доходчиво и ясно всё. Огромное спасибо! Лайк и подписка!
    Только я посмею свои 5 копеек вставить, файл cpp, а из плюсов там только вывод на консольке (пишет человек который на плюсах ещё ничего не написал, только книжки читает. )

  • @user-pg8ry1tm3t
    @user-pg8ry1tm3t 3 หลายเดือนก่อน

    Спасибо большое!!!

  • @user_x138
    @user_x138 3 ปีที่แล้ว +5

    Роман, написал по вашему примеру реализацию клиента и сервера. Все здорово. Для меня, как для новичка, информация очень полезна. Но у меня вопрос, как сделать если я хочу чтобы программа оставалась в активном режиме и продолжала отправлять сообщения (например, после их обновления в json-файле)?

  • @user-md7yf5bm8z
    @user-md7yf5bm8z 3 ปีที่แล้ว +1

    Спасибо!

  • @user_x138
    @user_x138 3 ปีที่แล้ว +2

    Роман, а ты можешь показать реализацию передачи данных между приложениями по протоколу MQTT. Буду очень признателен

  • @user-rx9zf3we2d
    @user-rx9zf3we2d 2 ปีที่แล้ว +1

    спасибо

  • @duoduoo6732
    @duoduoo6732 ปีที่แล้ว

    есть ли видео про многопточность на с++? например этот же сокет-сервер с слушателем на отдельном потоке?

  • @botsynth
    @botsynth ปีที่แล้ว

    Not Set влияет только на TCHAR. Если не использоваться TCHAR то и разницы никакой не будет. Неверно?

  • @moari6987
    @moari6987 ปีที่แล้ว

    Из-за чего в консоли может не выводиться текст "Hello from server!"? Код проверяла несколько раз, но всё равно не выводит. Пишет только Sent: 18 bytes

  • @cherkasA
    @cherkasA 2 ปีที่แล้ว

    а как связать компьютеры не в одной сети, а через глобальную сеть?
    в пределах домашнего wifi работает
    а уже с другом на другой улице связь установить не получается

    • @RomanPushkov
      @RomanPushkov  2 ปีที่แล้ว +2

      Как вариант - нужны белые IP (когда вам выделяется не IP внутри локалки вашего провайдера, а IP, видимый глобально). Многие провайдеры за символическую плату (у меня домашний провайдер берет дополнительно 100р. в месяц) может вам такой выделить.
      Дальше опять варианты. Например, у меня на входе висит роутер, на нём стоит VPN-сервер, который может пустить внешний компьютер в вашу внутреннюю локалку (при помощи VPN-клиента).

    • @cherkasA
      @cherkasA 2 ปีที่แล้ว

      я пробую написать небольшую игру с разными комнатами
      у меня есть хостинг, и от туда в будущем можно будет скачать эту игру ).
      так вот пользователь скачивает игру и запускает ее, игра обращается к хостингу и там определяется ip. Далее игрок выбирает комнату и ему в обратную сторону передаются ip игроков из этой комнаты (до 10 игроков на комнату). И дальше обмен данными уже идет между игроками без хостинга.
      Локально это работает, игра еще не готова, но все передачи данных я уже проверил. А вот глобально не работает. ip с хостинга я получаю, а связать компьютеры не могу.
      Белый ip не подходит так как этим могут пользоваться кто угодно.
      Есть какие то варианты как связать компьютеры для моей цели?
      к стати, если будет интересно, у меня тоже есть видео на моем канале ))
      th-cam.com/video/HE93SaN3iGo/w-d-xo.html

  • @allyof
    @allyof 3 ปีที่แล้ว +1

    как передать значения переменных по сети?

    • @Erudite.
      @Erudite. 3 ปีที่แล้ว +1

      *Сергей Богданов*
      Так-же как и строку передаёте потому, что фактически по стандарту по сети можно передавать только строки. Но предварительно преобразовав переменные и их значения в JSON строку.

    • @allyof
      @allyof 3 ปีที่แล้ว

      @@Erudite. сможете показать пример?

  • @gfhitdxaahn
    @gfhitdxaahn ปีที่แล้ว

    6:58

  • @user-zp1mf7oq2b
    @user-zp1mf7oq2b 5 หลายเดือนก่อน

    LNK2019 что делать с этой ошибкой подскажите пожалуйста

    • @RomanPushkov
      @RomanPushkov  5 หลายเดือนก่อน

      Зависит от того, что там в этой ошибке. Либо ws2_32.lib забыли подключить, либо где-то со своими функциями проблема.

    • @user-zp1mf7oq2b
      @user-zp1mf7oq2b 5 หลายเดือนก่อน

      @@RomanPushkov а при настройке решения нужны библиотеки kernel32.lib, user32.lib и все остальные которые у вас подключены, у меня просто их нет?

    • @RomanPushkov
      @RomanPushkov  5 หลายเดือนก่อน

      @@user-zp1mf7oq2b kernel, user, gdi автоматом подключаются, по идее.

    • @user-zp1mf7oq2b
      @user-zp1mf7oq2b 5 หลายเดือนก่อน

      @@RomanPushkov спасибо, всё получилось, но есть ещё вопрос, как сделать так, чтобы к серверу подключался не один клиент, а несколько клиентов? заранее спасибо

    • @RomanPushkov
      @RomanPushkov  5 หลายเดือนก่อน

      @@user-zp1mf7oq2b делать listen в цикле, а взаимодействие с принятым сокетом вынести в отдельный поток. Ну или использовать асинхронную работу с сокетами, что является темой отдельного разговора )

  • @user-oj7rh4jc5j
    @user-oj7rh4jc5j ปีที่แล้ว +1

    из за тебя рабочий проект накрылся
    🥸