Какая же чистая и понятная речь! Без картанья, гыканья, заикания и зависания, ты просто один из богов с олимпа сэнсеев! Жаль что заморозил свою просветительскую деятельность. Огромное тебе спасибо за лекции!
Спасибо за нормальное пошаговое объяснение! Всё без лишней воды, с объяснением что делает каждая строка. Пишу то же самое на Qt сейчас, контент очень помог.
Годноту пилишь, чувак! Большое спасибо за видос. Писал чат по этому уроку в Visual Studio 2010. Вот несколько отличий: 1) Регистр структуры отличается: вместо WSAData писал WSADATA; 2) Отличается название библиотеки: #pragma comment(lib, "ws2_32.lib") // взял со stackoverflow 3) Получил ошибку: Cбой при преобразовании в COFF. Решение здесь: ua-cam.com/video/N3-emEfLOos/v-deo.html
Большое спасибо за урок, долго искал русскоязычный туториал где бы поясняли каждую написанную строчку, а не вываливали абзацы кода описывая их парой слов
Писал код полностью с твоего видео,но почему-то клиент всё время заходит в условие if(connect(connection,(sockaddr*)&addr,sizeof(addr))!=0) Хотя если из этого условия убрать return 1,то сервер отправляет сообщение клиенту,а тот его прекрасно выводит. В чём может быть проблема?
Можно ли сервер на c++ приспособить под REST архитектуру для обработки GET, POT, PUT, DELETE запросов с мобильного устройства и отправки на мобильные клиенты JSON ответов?
спасибо большое за инфу, на русском ютубе до сих пор больше нет подобного контента! также имеется вопрос. как выглядел бы код, если решать проблему некомпиляции не костылем #define warning, а заменой на функцию inet_pton?
Ну а вот в чем вопрос а как же отправить файл или хотя бы строку в чат без твоей серверной части но с серверной стандартной частью что на сервере уже есть а там есть такое добро Ubuntu Nginx ну и PHP ну стандарт который ставят на зарубежных серверах сейчас??? Нужно чтобы это работало !
Привет, спасибо тебе за видосы, очень полезно! Мог бы ты, пожалуйста, приближать область захвата экрана в программе которой записываешь к коду? Было бы вообще круто! Спасибо!
13:22 Вместо заголовка #pragma warning(disable: 4996) предупреждения warning также можно отключить заголовком определения #define _WINSOCK_DEPRECATED_NO_WARNINGS
Для этого нужен свободный порт, который может использовать программа. Его нужно объявить в сервере и подключаться по нему в клиенте. По идее, никаких сложностей возникнуть не должно.
Здравствуйте! У меня в команде SOCKET sListen = socket(AF_INET, SOCK_STREAM, NULL) возникла ошибка: пишет, дескать низя NULL передавать в 3й аргумент. Почитал, понял, что это протокол. Хотел спросить: как справиться с этой ошибкой?
как глобально связать 2 компа? то, что в видео работает в пределах максимум одного провайдера а так что бы один комп дома а с другим я путешествую по миру например и мне нужно установить связь с домашним компом
Можно, но только если у компьютера, который принимает подключение, есть публичный IP-адрес с открытым портом. Компьютер A инициирует соединение, компьютер B его принимает и они начинают взаимодействовать. Если у компьютера B айпи "серый", либо порт закрыт - подключения не произойдёт.
Ошибка C1010 непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "pch.h"" в источник. у вас какая версия ?
Точно сказать не могу, уже давно не видел VS, т.к. перешёл на linux. Но насколько я помню, в тот момент я использовал Visual Studio 2017 - если вы про это. В описании к видео осталась ссылка на github с проектом, возможно пригодится.
Ты имеешь в виду SMTP? Если да, то просто настрой подключение по нужному порту к SMTP серверу и посылай команды для отправки писем. За чем-то конкретным уже нужно лезть в документацию. Ну а так, данный метод уже давно устарел.
@@xios7870 Слушай, а не мог бы попробовать скопировать код сервера в один файл, код клиента в другой, скомпилировать и запустить их, что у тебя получится? Клиент: docs.microsoft.com/en-us/windows/win32/winsock/complete-client-code Сервер: docs.microsoft.com/en-us/windows/win32/winsock/complete-server-code
Способ, описанный в видео, давно устарел. Эта библиотека у тебя отсутствует. Поищи её в папке system32. Если её там нет, можешь попробовать скачать dll и закинуть его туда, вряд ли это сработает, но можно попробовать(я бы так не делал). Скорее всего, тебе просто нужно обновить винду, скачав нужные обновления. Чего то конкретного сказать не могу, потому как уже долгое время сижу на pureos(дистрибутив линукс) и с виндой давно дел не имел.
Бэк-енд веб сайтов на C++?) Конечно, этому можно научиться, но я совершенно не понимаю зачем?)) Под каждую задачу нужен определённый инструмент. Для написания бэк-енда существуют более направленные для этого языки(например: php, python(django), ruby(ror), javascript(node.js) и т.д.) Как правило, подобные "инструменты" более удобны в использовании. К примеру, если писать сайт на C/C++, перед самим html кодом, чтобы страница корректно работала, нужно отправить различные заголовки браузеру, извлечь переменные окружения и всё такое прочее. В php же или в другом подобной языке, всё это делается автоматически и поэтому не нужно каждый раз всё это прописывать, код становится более читабельным, элегантным и значительно уменьшается в размере. Если же ты собираешься связать свою жизнь с написанием веб-сайтов, то не думаю, что на фрилансе или где-то ещё, люди нуждаются в программировании cgi сайтов исключительно на низкоуровневых языках общего назначения. Всё таки, подобный опыт будет полезным, т.к. ты станешь понимать как это работает изнутри. Я никогда не занимался написанием сайтов на C++, поэтому не могу тебе точно сказать, что именно нужно учить. Поищи какие нибудь веб-фреймворки, на подобии Wt, Tntnet и всего такого. По спрашивай знающих людей на разных форумах, уверен кто-то откликнется и поможет.
Приветствую! Спасибо за видео, но у меня не работает, а именно когда компилятор доходит до функции connect в клиентской части, он выводит мне ошибку подключения. При помощи функции WSAGetLastError() я получил код ошибки: 10047
Фактически эта ошибка означает, что адрес не совместим с выбранным протоколом, но я ввожу в клиентскую и серверную части адреса 192.168.1.111 и порт 11111. Этот адрес мой комп получает по dhcp от WiFi роутера
Проблема была в том, что я случайно записал в стурктуру sockaddr_in поле ZeroMemory(). как только я убрал это поле, клиент сразу подключился к серву. Надеюсь мои комментарии будут полезны на будущее.
Xios привет ещё раз. Помоги пожалуйста! В студии 2017 у меня пропало окно с кодом! Я могу только редактировать файлы .cpp но не могу редактировать проекты! Как мне это исправить? Помоги пожалуйста!
Объяснения вялые. Варнинг тупа вырубил, а мог бы объяснить как исправить ошибку. Я понял последовательность, что куда указывать, но для чего это все не объяснено. И чего люди лайки ставят.. Но стоит отметить что лучше я за 30 минут поиска не нашел, прямо таки беда с сетевым программированием(
не пойму в каком порядке создавать и запускать файлы stdafx. Как создать файл с расширением .h? В видео ничего не сказано про эти файлы...помогите с запуском
Если ты хочешь делать игру, то тебе нужно БД слушать через сервер. Что б клиент отсилал даные серверу, а потом сервер делал запрос к БД. Если напрямую без сервера тогда игрок сможет хакнуть игру!
Там всё просто, тебе просто нужен готовый скомпилированный exeшник с функционалом обработки команд от клиента, потом в билдере будешь тупо изменять его двоичное содержимое (айпи например) на то, что тебе нужно. Ещё рекомендую команды не строками отправлять, а склепать собственный недопротокол кодирования данных в двоичный вид, либо использовать какой-нибудь protobuf, будет быстрее и лучше. Как раз этим занимаюсь сейчас.
Какая же чистая и понятная речь! Без картанья, гыканья, заикания и зависания, ты просто один из богов с олимпа сэнсеев! Жаль что заморозил свою просветительскую деятельность. Огромное тебе спасибо за лекции!
Особенно слово: «лисТен»
огромное человеческое спасибо, облазил весь инет пытаясь разобраться а здесь так просто и доступно всё объяснено, спасибо ещё раз!
Спасибо за нормальное пошаговое объяснение! Всё без лишней воды, с объяснением что делает каждая строка. Пишу то же самое на Qt сейчас, контент очень помог.
Спасибо тебе большое !! Очень редко находишь такие видосы !! Автору респект
Очень доступно объясняешь, спасибо!
Крутой урок! Реально помогает разобраться в WinSock новичкам! Лайк, подписка))
Только начал изучать сетевое программирование и случайно наткнулся на этот канал,огромное спасибо!
блин, я радовался как ребенок, когда у меня получилось запустить прогу
благодарю чувак, ты крут
господи, спасибо, что такой человек попался... Сам же я делаю школьный проект на c++... Спасибо
Орнул со вступления. Спасибо за видос
Братан, хорош, давай, давай вперед! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого почаще?
Годноту пилишь, чувак! Большое спасибо за видос.
Писал чат по этому уроку в Visual Studio 2010. Вот несколько отличий:
1) Регистр структуры отличается: вместо WSAData писал WSADATA;
2) Отличается название библиотеки: #pragma comment(lib, "ws2_32.lib") // взял со stackoverflow
3) Получил ошибку: Cбой при преобразовании в COFF. Решение здесь: ua-cam.com/video/N3-emEfLOos/v-deo.html
даже спустя пять лет вы меня выручили!! спасибо вам огромное
Большое спасибо за урок, долго искал русскоязычный туториал где бы поясняли каждую написанную строчку, а не вываливали абзацы кода описывая их парой слов
Дякую тобі за файне відео, нормальне пояснення та й прости ти крутий, дякую за відео💓💓💓
Отличный урок для новичков! Автору большое спасибо!
Отлично объяснил, спасибо большое! Однозначно лайк!
Видео просто пушка, информативность зашкаливает!!!
спасибо за очень доступный для понятия урок
Мужик,ты лучший! Спасибо за видео
Вот это бля ахуенно, когда искал фановые ролики в ютубе вышло это в рекоменды и теперь хочу стать программистом
да это вы еще не учитываете что захотели стать программистом посмотрев НА С++
когда-то и меня вела дорого приключений.. А ПОТОМ Я СТАЛ ПРОГРАММИСТОМ
@@МаксКурский-р2в а что не так с с++?
Писал код полностью с твоего видео,но почему-то клиент всё время заходит в условие if(connect(connection,(sockaddr*)&addr,sizeof(addr))!=0)
Хотя если из этого условия убрать return 1,то сервер отправляет сообщение клиенту,а тот его прекрасно выводит.
В чём может быть проблема?
Спасибо большое бро. Пожалуйста продолжай, здорово получается
То, что я и искала. Спасибо :)
тупа лайк
+
прям кайф смотреть!
Можно спросить ещё что за название в самом верху(у меня и без него работает)
Наконец нашел то, что искал!
Отличное решение! Спасибо 😀💪👍
огромнейшее спасибо!!!)))
Спасибо Вам добрый человек🙂
Можно ли сервер на c++ приспособить под REST архитектуру для обработки GET, POT, PUT, DELETE запросов с мобильного устройства и отправки на мобильные клиенты JSON ответов?
Премного благодарен за просвещение
Урок шикарный, но большая просьба. Делайте шрифт побольше...
спасибо просто спасибо +исходники, удачи каналу
спасибо большое за инфу, на русском ютубе до сих пор больше нет подобного контента!
также имеется вопрос. как выглядел бы код, если решать проблему некомпиляции не костылем #define warning, а заменой на функцию inet_pton?
════¤¤¤¤ после отправки сообщения, как это фиксить?
Урок хорош, но проблема в том что я не знаю почему у меня &sizeofaddr не определён ведь всё написано так как в видео...
Ну а вот в чем вопрос а как же отправить файл или хотя бы строку
в чат без твоей серверной части но с серверной стандартной частью что
на сервере уже есть а там есть такое добро Ubuntu Nginx ну и PHP
ну стандарт который ставят на зарубежных серверах сейчас???
Нужно чтобы это работало !
Привет, спасибо тебе за видосы, очень полезно! Мог бы ты, пожалуйста, приближать область захвата экрана в программе которой записываешь к коду? Было бы вообще круто! Спасибо!
13:22 Вместо заголовка #pragma warning(disable: 4996) предупреждения warning также можно отключить заголовком определения #define _WINSOCK_DEPRECATED_NO_WARNINGS
Спасибо, все получилось )
Братик , не забивай на это дело (выпуски видосиков). Нуль инфы на русском ютабе на эту тему. Посылаю тебе лучи добра =)
Есть вопрос, а как сделать, чтобы клиент переподключался, но при этом сервер не переставал работать?
Спасибо!!!!!!! Очень понятно
Каеф. Спасибо чувак
у меня почему то не запускоется сервер при 2 разе
думаю дело в повторном использовании listen
ребят а клиент по этому видео для игры МТА сделать можно?
Добрый день, уроки очень интересные, а как сделать что бы клиент с сервером могли общаться, если подскажите будку признателен!!
а как сделать tcp онлай устойчивый запрос чтоб счочик на сайте поменялся, но не doos
А можете говорить как можно зделать чтобы сервер работал HTTP запросами ? типа в функцию send() впихнуть весь HTTP протокол ? (хедеры контент и т. д.)
Как у вас получается у всех, у меня просто проект даже не запускается
Вопрос всплыл)Как подключиться с другого пк, ведь там вписан локал хост(должно работать только на 1 пк).Буду очень благодарен, если поможешь.
Для этого нужен свободный порт, который может использовать программа. Его нужно объявить в сервере и подключаться по нему в клиенте. По идее, никаких сложностей возникнуть не должно.
Здравствуйте! У меня в команде SOCKET sListen = socket(AF_INET, SOCK_STREAM, NULL) возникла ошибка: пишет, дескать низя NULL передавать в 3й аргумент. Почитал, понял, что это протокол. Хотел спросить: как справиться с этой ошибкой?
посмотри может в другом месте ошибку сделал, такое не должно вылазить
Лучший, лайк!
Почему когда я передаю сообщение на русском оно выводится непонятными символами? (и да, setlocale я прописал)
А есть ли Книги , в которых написано про это ?
как глобально связать 2 компа?
то, что в видео работает в пределах максимум одного провайдера
а так что бы один комп дома а с другим я путешествую по миру например
и мне нужно установить связь с домашним компом
Ну тебе нужен статический ip адрес(его можно приобрести у провайдера), и просто запустить сервер на новом ip
А дальше просто подключаться на ip сервера
Спасибо!!!!! Огромное
А есть способ подключить компьютеры если они не в одной локальной сети? Можно что-то подобное делать для компьютеров на расстоянии?
Можно, но только если у компьютера, который принимает подключение, есть публичный IP-адрес с открытым портом. Компьютер A инициирует соединение, компьютер B его принимает и они начинают взаимодействовать. Если у компьютера B айпи "серый", либо порт закрыт - подключения не произойдёт.
Не выводится строчка "Hello. It's my first network program!", в чем может быть проблема
все остальное как в видео
В описании есть ссылка на проект. Там всё работает.
В в массиве сообщения ,передаваемового сервером, убери колличество символов(256)
@@xios7870 , подскажите пожалуйста, функция bind - это winapi`шная функция или c++ ?
@@CaytoCatugawa Это функция библиотеки std.
Ошибка C1010 непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "pch.h"" в источник.
у вас какая версия ?
Точно сказать не могу, уже давно не видел VS, т.к. перешёл на linux. Но насколько я помню, в тот момент я использовал Visual Studio 2017 - если вы про это. В описании к видео осталась ссылка на github с проектом, возможно пригодится.
UDP или TCP?
Здорова! Давай развивай тему сетевого программирования на С++.
ааааааааааааааааа, кааааайф.
как же крутооооооо
Можно с использованием протоколов POP и SPMT?
Ты имеешь в виду SMTP? Если да, то просто настрой подключение по нужному порту к SMTP серверу и посылай команды для отправки писем. За чем-то конкретным уже нужно лезть в документацию. Ну а так, данный метод уже давно устарел.
На оффициальном сайте не работает bind() а в твоём коде работает (у тебя немного другой чем на microsoft). Откуда ты всё это взял?
Видео давно устарело. Стандарт и синтаксис некоторых функций изменился.
@@xios7870 Слушай, а не мог бы попробовать скопировать код сервера в один файл, код клиента в другой, скомпилировать и запустить их, что у тебя получится? Клиент: docs.microsoft.com/en-us/windows/win32/winsock/complete-client-code
Сервер: docs.microsoft.com/en-us/windows/win32/winsock/complete-server-code
благодарствую
ЛУЧШЕЕ ШО Я ВИДЕЛ
у меня возникла ошибка пишет что не может найти библиотеку ws2_32.lib. Помогите что делать , пишу я в CodeBlocks
Способ, описанный в видео, давно устарел. Эта библиотека у тебя отсутствует. Поищи её в папке system32. Если её там нет, можешь попробовать скачать dll и закинуть его туда, вряд ли это сработает, но можно попробовать(я бы так не делал). Скорее всего, тебе просто нужно обновить винду, скачав нужные обновления. Чего то конкретного сказать не могу, потому как уже долгое время сижу на pureos(дистрибутив линукс) и с виндой давно дел не имел.
@@xios7870 А почему устарел? Видео залито 2 года назад. Почему устарело?
@@Сашагарматний Урок устарел его до его публикации)
@@xios7870 У меня проблема. Не работает #pragma comment(lib, "ws2_32.lib"). Библиотека на компе есть. Но при компиляции не находит!
простите .cpp файл не могу в исходниках найти, где его можно найти
ссылка на github/номер урока/Server/ServerS/ServerS.cpp - Server
ссылка на github/номер урока/Client/ClientC/ClientC.cpp - Client
Пожалуй пойду сервер писать на питоне😂 , уж очень страшный синтаксис
ответьте пожалуйста как можно научиться бэкендить веб сайтов на с++?? заранее спасибо!!
Бэк-енд веб сайтов на C++?) Конечно, этому можно научиться, но я совершенно не понимаю зачем?)) Под каждую задачу нужен определённый инструмент. Для написания бэк-енда существуют более направленные для этого языки(например: php, python(django), ruby(ror), javascript(node.js) и т.д.) Как правило, подобные "инструменты" более удобны в использовании. К примеру, если писать сайт на C/C++, перед самим html кодом, чтобы страница корректно работала, нужно отправить различные заголовки браузеру, извлечь переменные окружения и всё такое прочее. В php же или в другом подобной языке, всё это делается автоматически и поэтому не нужно каждый раз всё это прописывать, код становится более читабельным, элегантным и значительно уменьшается в размере. Если же ты собираешься связать свою жизнь с написанием веб-сайтов, то не думаю, что на фрилансе или где-то ещё, люди нуждаются в программировании cgi сайтов исключительно на низкоуровневых языках общего назначения. Всё таки, подобный опыт будет полезным, т.к. ты станешь понимать как это работает изнутри. Я никогда не занимался написанием сайтов на C++, поэтому не могу тебе точно сказать, что именно нужно учить. Поищи какие нибудь веб-фреймворки, на подобии Wt, Tntnet и всего такого. По спрашивай знающих людей на разных форумах, уверен кто-то откликнется и поможет.
@@xios7870 примерно где то в 2005 году видел на конкурсе програмистов одна команда представила гостевую книгу написаную на Делфи.
Приветствую! Спасибо за видео, но у меня не работает, а именно когда компилятор доходит до функции connect в клиентской части, он выводит мне ошибку подключения. При помощи функции WSAGetLastError() я получил код ошибки: 10047
Фактически эта ошибка означает, что адрес не совместим с выбранным протоколом, но я ввожу в клиентскую и серверную части адреса 192.168.1.111 и порт 11111. Этот адрес мой комп получает по dhcp от WiFi роутера
Проблема была в том, что я случайно записал в стурктуру sockaddr_in поле ZeroMemory(). как только я убрал это поле, клиент сразу подключился к серву. Надеюсь мои комментарии будут полезны на будущее.
в новых версиях лучше сразу прописывать макрос на отключение предупреждений, а то зашатаетесь
ошибки ловить
Карту высот кодинг игри я зделаю. А вот понять принцип как оно взаимодействует с клиентом я пока не понимаю
Просто отсилай клиенту и принимай от клиента сообщения!
эй кудаж ты пропал
Спасибо тебе
От души
у меня не робит( пишет что сокет newConnnection: переопределение) что делать?
Какая у тебя среда разработки?
Xios 17 студия
Какие библиотеки подключены? Хотелось бы увидеть код.
Xios все тоже самое. В конце вообще полностью код скопировал твой и все равно не понятно что. Мистика
Xios iostream, winsock.h, не помню точно
Где же ты был все эти годы????
годно годно спс
Крутой видос. Жаль, что WinSock, а не boost::asio, но хоть какой-то нормальный гайд по сетевому программированию на российском ютубе.
like! все работает! а как мне самому айпи вводить? типо запускается сервер часть и просит пользователя ввести айпи адресс клиента? помоги пж!
Немного не понял. Что должно произойти после ввода ip клиента в серверную консоль?
Xios привет ещё раз. Помоги пожалуйста! В студии 2017 у меня пропало окно с кодом! Я могу только редактировать файлы .cpp но не могу редактировать проекты! Как мне это исправить? Помоги пожалуйста!
Гугл в помощь.
c++ получше изучи
Объяснения вялые. Варнинг тупа вырубил, а мог бы объяснить как исправить ошибку. Я понял последовательность, что куда указывать, но для чего это все не объяснено. И чего люди лайки ставят.. Но стоит отметить что лучше я за 30 минут поиска не нашел, прямо таки беда с сетевым программированием(
Эх, жаль автор заборосил проект. Если есть возможность то было бы здорово продолжить серию!
Приведённый материал сильно устарел ещё на момент записи роликов, поэтому вряд ли)
@@xios7870 материал в каком плане устарел? Что сейчас используют?
Ето к базе данных
К сожалению, даже на 720p не различить текст
не пойму в каком порядке создавать и запускать файлы stdafx. Как создать файл с расширением .h? В видео ничего не сказано про эти файлы...помогите с запуском
Не видно же ничего, надо было приблизить
Мне надо чтобы клиент базу данных слушал
Если я не ошибаюсь, для этого существует специальная либа - MySQL Connector. На официальном сайте MySQL есть документация, почитай, должна помочь.
Если ты хочешь делать игру, то тебе нужно БД слушать через сервер. Что б клиент отсилал даные серверу, а потом сервер делал запрос к БД. Если напрямую без сервера тогда игрок сможет хакнуть игру!
Топ
я обиделся☹ 11:20
лайк поставте кому помогло не позорьтесь, автор может быть еще что нибудь качественное сделает
для эл
почты
Зачем нужны аргументы командной строки?
Стандарт такой. Можешь убрать.
@@xios7870, а ты по каким книгами учился? По с++
Основы изучал по книгам Страуструпа. Остальное уже и не припомню.
ochen ponyatno;
prostite u menya net russkogo klaviatura :)
Чувак ты мог написать using namespace std;
Я хотел свой ратник написать
Там всё просто, тебе просто нужен готовый скомпилированный exeшник с функционалом обработки команд от клиента, потом в билдере будешь тупо изменять его двоичное содержимое (айпи например) на то, что тебе нужно. Ещё рекомендую команды не строками отправлять, а склепать собственный недопротокол кодирования данных в двоичный вид, либо использовать какой-нибудь protobuf, будет быстрее и лучше.
Как раз этим занимаюсь сейчас.
Я хочу переписать игру линейдж на новый двигатель унреал
Пожалуйста только не рассказывай о своей жене................