Pull to refresh

Comments 11

Я не являюсь специалистом в данной теме, я обычный новичок, поэтому всё что я расскажу ниже является моим субъективным опытом, в объяснении которого могут присутствовать ошибки. Иначе говоря что-то я буду объяснять вам так, как понял это я, но некоторую информацию я тупо вставил с интернета.~Так что не судите строго :(

А зачем тогда это статья? Можно документацию сокетов напрямую тогда прочесть, чтобы не было "испорченного телефона" в виде вашего частичного понимания с субъективным опытом, умноженного на копирку интернета.

Если хотите что-то написать - разберитесь в вопросе детально или пишите о том, где вы специалист и что будет полезно тем, кто в это погружается/хочет изучить подробнее/неочевидные подводные камни и т.п. моменты, которые неочевидны при беглом проходе по докам.

Хорошо, в следующий раз буду делать вид, что разбираюсь.
А так, не понимаю что здесь плохого: да, я признаю, что не разбираюсь в этой теме досконально, однако, когда я изучал эту тему, у меня была проблема с нахождением источников информации, и я действительно потратил время на то, чтобы у меня хоть что-то получилось.
Когда всё же у меня получилось, я решил написать эту документацию (писал два года назад когда даже не знал что такое хабр).
Если бы я нашёл такую статью в тот момент - я бы разобрался в этом гораздо быстрее, и меня бы даже не смутил дисклеймер.

проблема с нахождением источников информации, и я действительно потратил время на то, чтобы у меня хоть что-то получилось.

Если вам нужны статьи по сокетам в целом, как они где реализованы и как запускать:
https://habr.com/ru/articles/676110/
https://habr.com/ru/articles/216957/
Если вам нужен конкретно плюсовый пример:
https://habr.com/ru/articles/582370/

Всем материалам больше двух лет. Найдено за полторы минуты. "Плюсовая" статья отличается от вашей отличается как минимум большим разбором примерно всего и практическим примером, чтобы пощупать это знание в деле.

Я не обвиняю вас в непрофессионализме и в том, что вы "не шарите", в плюсовых сокетах и я не разбираюсь на должном уровне. Если я вас персонально задел - я извиняюсь, т.к такой цели не было. Просто если это ваша личная заметка, то зачем её пихать на профильный сайт, где ожидание от качества материала побольше, чем сигнатуры функций и описание полей.

Если бы я нашёл такую статью в тот момент - я бы разобрался в этом гораздо быстрее, и меня бы даже не смутил дисклеймер.

Ваш дисклеймер убивает доверие к поданной в статье информации, т.к вы открыто заявляете, что:

  • Можете ошибаться

  • Не факт, что поняли всё так, как оно является на самом деле

  • Часть информации это вообще не ваш опыт, которому как-то можно доверять

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

Если вы прям очень сильно хотите написать статью, то загуглите/поищите на хабре аналогичные статьи. Посмотрите,есть ли они, чего там не хватает и на какую они тему вообще, после чего своей статьей заполните эти пробелы. Если хотите заодно заполнить и свои пробелы - можете потыкать сокеты глубже, не на уровне пользования, а на уровне протоколов/маршрутизации, как они работают на уровне компиллятора или тому подобного. Тогда у вас есть шанс не войти в ряд мемов в стиле "Как запустить проект на Django", "Что такое ООП" и другим материалам, которые по кругу перепечатывают и что набило оскомину читающим.

А пока это материал, от которого можно ещё и себе в ногу выстрелить, если вы где-то и правда ошиблись, а я приму это на веру. Единственное, я не понимаю, чего люди так минусами кидаются (у меня такого права нет), статья всё-таки из песочницы и лучше давать советы, чем молча пинать.

человек даже на выделенном ресурсе имея игру пускай и 2д, и серию обзоров - статей по техникам исполнения, признаётся что не експерт и другого ресурса просто нету на старте ) просто не найти... всему приходится самому учиться ), а какие-то ентузиасты в 3д прямо скажут учись сам эти серии не подходят на обучение ...

хорошо, что примеры есть их можно доработать потестить изучить

Воу, спасибо что уделили время на данный комментарий!

Вообще, я не отрицаю что информация по этой теме есть и её можно найти - вполне возможно, я посещал некоторые из пересланных вами статей.

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

По поводу того, "как доверять этой статье" - думаю, проверять написанное)
Почему то мне не казалось, что кого то смутит дисклеймер, по моей логике, люди и так должны понимать, что не всё написанное в интернете - правда, и если уж так, то я лучше выстрелю себе в ногу первым, чем буду вам врать)

Ту статью, которую вы скинули по плюсам, действительно очень подробно расписана, но я думаю что и моя статья не будет лишней (хотя бы в песочнице), те же примеры кода которые здесь показаны - рабочие.

В любом случае, для меня это первый опыт, спасибо вам что указываете на недостатки, и более того, говорите как их можно избежать в следующий раз, это действительно полезно!

Дисклеймер прекрасен!
я его переведу: "я вообще не специалист, но я приду на ресурс, наполненный специалистами, котрые зубы на этой теме съели, и опубликую (для них?) статью начального уровня (за которую меня закидают ... тряпками)"


Вот почему, почему ответ, сделанный при помощи GPT (а я ставлю свою зарплату на это, против карманных денег школьника!) всегда напоминает ответ студента - троечника? Который скатал со шпоры, но не разобрался в деталях?

Да, я вообще не специалист, именно это я имел ввиду.
Я не думаю, что все люди на Хабре такие уж специалисты, и гайд я писал изначально для себя (поэтому так много пояснений!), но если этот гайд поможет хоть одному, значит он уже не бесполезный.
По большей части мне всё равно, что вы думаете, но я рад, что эту статью кто-то увидел)

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

Мне казалось, так легче читается, но спасибо, буду иметь ввиду.

Работа с сокетами C++

Весь C++ в коде - это cout. Я ожидал, что будет Boost или хотя бы RAII, а реальность - C с cout.

using namespace std; - обязательно к прочтению What's the problem with "using namespace std;"?, если плохо с английским, то Пространство имен (using namespace std;), но она не сравнима с первой.

  if (client >= 0) 
    cout << "Сокет успешно создался" << endl;
  else {
    cout << "Проблема создания сокета" << endl;
    return 1;
  }

Надо что-то делать со стилем. Если используешь скобки, то используй их во всех условных ветках.

Спасибо за статью, добавил в закладки! К сожалению плюс поставить не могу - карма не позволяет.

Sign up to leave a comment.

Articles