powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
22 сообщений из 22, страница 1 из 1
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463414
log_here
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опыта в построении клиент-серверного кода нет, особого понимания, кроме как из учебных примеров, тоже нет.
Я так понимаю, сервер получает от клиента информацию в виде потока битов и обрабатывает её, посылая, вообще говоря, какие-то сведения обратно.
Потоки битов превращаются в те или иные задачи, которым может расставляться различный приоритет.
Сетевые карты и другое железо тоже может быть различным, что тоже может иметь влияние на код (для совместимости и повышения производительности).

Разве для всего этого не достаточно обойтись общим стандартным классом, требующего всего несколько методов/полей, которые и вводит посредством конструктора или наследования программист?

Почему в описании некоторых вакансий иногда подчёркивается, как важно иметь опыт в построении клиент-серверных приложений и почему классов клиент-сервер до сих пор нет в stl?
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463420
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
log_hereЯ так понимаю, сервер получает от клиента информацию в виде потока битов и обрабатывает её, посылая, вообще говоря, какие-то сведения обратно.Да.

log_hereПотоки битов превращаются в те или иные задачи, которым может расставляться различный приоритет.Нет.

log_hereСетевые карты и другое железо тоже может быть различным, что тоже может иметь влияние на код (для совместимости и повышения производительности).Ну в принципе "Да", но это первый уровень OSI, тогда как твое приложение (использующее stl) живет на седьмом уровне...

log_hereРазве для всего этого не достаточно обойтись общим стандартным классом, требующего всего несколько методов/полей, которые и вводит посредством конструктора или наследования программист?А мы и обходимся :)
Для нормальной жизни в клиент-сервере вполне достаточно пяти функций: socket(), listen()/connect(), read()/write(). И только если уж совсем чего-то странного надо, то добавляются еще всяческие ioctl(), send(), recv(), etc...

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

log_here и почему классов клиент-сервер до сих пор нет в stl?Придумай какие классы тебе нужны. Сделай например примитивный чат, а потом на его основе перечисли какие шаблоны ты хочешь видеть в stl.
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463423
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
log_hereЯ так понимаю, сервер получает от клиента информацию в виде потока битов
Это ты неправильно понимаешь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463424
log_here
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owllog_hereПотоки битов превращаются в те или иные задачи, которым может расставляться различный приоритет.Нет.
Странно, а как тогда обрабатываются битовые потоки?

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


White OwlПридумай какие классы тебе нужны. Сделай например примитивный чат, а потом на его основе перечисли какие шаблоны ты хочешь видеть в stl.
Раз функций не так много, то и класс не сильно нужен. Наверное.
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463425
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
log_here,

В С++ принципиально не вносятся слишком высокоуровневые абстракции, типа работы с СУБД, GUI или сетевого обмена

Для этого есть достаточно оснований, и потому С++ не считается [удобным] языком прикладного программирования.
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463426
log_here
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovlog_hereЯ так понимаю, сервер получает от клиента информацию в виде потока битов
Это ты неправильно понимаешь.

А как правильно?
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463427
log_here
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglДля этого есть достаточно оснований, и потому С++ не считается [удобным] языком прикладного программирования.
Каких оснований?
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463429
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
log_hereWhite Owlпропущено...
Нет.
Странно, а как тогда обрабатываются битовые потоки?Как потоки. Они ни в какие задачи не превращаются и никакие приорететы тут не существуют. Клиент послыает серверу биты - сервер их разбирает и что-то делает, и наоборот. Но "задачи" и "приорететы" это сущности совершенно другого порядка.

log_hereЧем кроме многопоточности отличается кодирование кличент-серверных приложений от одномашинных?А с чего ты решил что клиент-сервер требует многопоточности? Да, она чаще используется чем нет, но многопоточность совсем не обязательна.

log_hereWhite OwlПридумай какие классы тебе нужны. Сделай например примитивный чат, а потом на его основе перечисли какие шаблоны ты хочешь видеть в stl.
Раз функций не так много, то и класс не сильно нужен. Наверное.Ну почему-же... Практически все фреймворки имеют кучку классов упрощающих или "упрощающих" работу.

Только ты не учитываешь что "клиент-сервер" это архитектура, и она приложима для очень многих типов задач. Это тебе и сеть, и распределенные вычисления, и базы данных, и еще много-много всего...
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463430
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
log_hereSiemarglДля этого есть достаточно оснований, и потому С++ не считается [удобным] языком прикладного программирования.
Каких оснований?Предлагаю подавану ознакомиться с историей поданных в Комитет предложений.

Это ближе религии и истории, что ты спрашиваешь здесь - никто тебе не ответит в двух словах
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463433
log_here
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlА с чего ты решил что клиент-сервер требует многопоточности? Да, она чаще используется чем нет, но многопоточность совсем не обязательна.
Раз и при одном потоке отличается от одномашинных, то чем именно?
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463456
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
log_hereПочему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?Потому что это не ява, где в стандарт пихают всё подряд.
Во-вторых, stl - это абстрактная штука, призванная как можно сильнее упрощать и оптимизировать различные разработки. Если есть желание сделать библиотеку для приложений "клиент-сервер" - welcome!

А вот в Бусте должно быть что-то подобное, думаю.
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463475
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
log_hereРазве для всего этого не достаточно обойтись общим стандартным классом, требующего всего несколько методов/полей, которые и вводит посредством конструктора или наследования программист?
Есть boost::asio, libevent и еще много чего. Бери то что больше нравится.
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463634
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
log_hereА как правильно?
Правильно - в зависимости от используемого протокола обмена для каждого конкретного
приложения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463676
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
log_hereРазве для всего этого не достаточно обойтись общим стандартным классом, требующего всего несколько методов/полей, которые и вводит посредством конструктора или наследования программист?


Ну, не достаточно, поскольку всё сложнее немного, чем ты себе представляешь, но да, в 80% случаев код сервера будет примерно одинаковый, и такие фреймворки есть, POCO, boost::asio, и я уверен есть и другие.

log_hereПочему в описании некоторых вакансий иногда подчёркивается, как важно иметь опыт в построении клиент-серверных приложений и


Почему что-то пишут в описании вакансий -- мне кажется, совсем не наш вопрос , спроси тех, кто пишет!

log_hereпочему классов клиент-сервер до сих пор нет в stl?


Они есть в boost, это прообраз будущих библиотек в составе STL (точнее, STD, STL не существует).
Некоторые библиотеки из BOOST уже перешли в состав STD, включены в стандарт. Это и есть идея проекта BOOST: писать новые универсальные кроссплатформные библиотеки для включения в состав стандартных, а пока они не включены -- давать пользователям возможность их использовать вне стандартной библиотеки.

Есть ряд сложностей, которые не позволяют это всё проделывать сразу и быстро, поэтому пока только в BOOST.
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463679
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovlog_hereЯ так понимаю, сервер получает от клиента информацию в виде потока битов
Это ты неправильно понимаешь.


Не, ну не согласен, в конце концов, по сети определённо передаётся поток битов информации, поэтому и такое утверждение правомочно.
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463680
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
log_hereПочему в описании некоторых вакансий иногда подчёркивается, как важно иметь опыт в построении клиент-серверных приложений и почему классов клиент-сервер до сих пор нет в stl?
Честно говоря, глупее вопроса не встречал.
Потому, что клиент-серверные приложения можно строить по разному - на Winows можно использовать pipes и дергать обычные файловые функции, а можно использовать классику - Беркли Сокеты. Также нужно учесть портируемость(кросскомпиляцию) программ на других платформах, с учетом политики этих платформ, а, к примеру, политика платформы Linux, это, во-первых - простота программы, а во вторых - стандартные вызовы библиотечных функций, пишущихся, обычно, на чистом Си, а не C++.
STL включает в себя не специализированные(для частных случаев), а общие, часто используемые алгоритмы для создания разного рода очередей, контейнеров, списков и т.д. То есть то, что часто используется программистами для написания любых приложений, а не только клиент-серверных.
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463691
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
log_hereWhite OwlА с чего ты решил что клиент-сервер требует многопоточности? Да, она чаще используется чем нет, но многопоточность совсем не обязательна.
Раз и при одном потоке отличается от одномашинных, то чем именно?

Точно отличается тем, что платформы, участвующие в сетевом взаимодействии, разные.
И число типа int, посланное на другую платформу, может там иметь совершенно другое значение, нежели на посылающей машине.
Для этого нужно кодировать сетевые бинарные данные особым образом, чему очень много внимания уделено например у Стивенса.
И это, к сожалению, светится на самом верхнем уровне, на уровне приложения (если не используются особые протоколы уровня приложения, типа CORBA, DCOM, HTTP и т.п.), поэтому КАЖДЫЙ программист должен это знать и уметь с этим работать.

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

Может есть и ещё что-то, что я забыл.
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463694
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devна Winows можно использовать pipes и дергать обычные файловые функции, а можно использовать классику - Беркли Сокеты.

Кстати, да, ведь нет единой кросс-платформенной реализации стека TCP/IP.
Хорошо ещё, что TCP/IP наконец победил все другие верхние протоколы, а то в 90-х было как минимум 4 штуки!
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39463711
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv, сейчас NetBEUI и IPX/SPX тоже, кое-где, встречаются, а NBT почти во всех Microsoft сетях с MasterBrowser (перечислитель ресурсов сети Microsoft).
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39464072
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
log_hereWhite OwlА с чего ты решил что клиент-сервер требует многопоточности? Да, она чаще используется чем нет, но многопоточность совсем не обязательна.
Раз и при одном потоке отличается от одномашинных, то чем именно?Тем что есть сервер и есть клиент.
Исходная задача всегда разбита на две части. Одну часть обрабатывает "сервер", другую "клиент".
На разных физических компьютерах при это сервер и клиент или на общем - не важно. Используется ли сеть, базы данных, файлы, пайпы, да хоть бумажки с карандашными заметками - это не важно.
Даже являются ли сервер и клиент разными программами или одной общей которая запускается с разными ключами - не важно.
Главное что исходная задача решается в виде: клиент получает данные от пользователя, обрабатывает их сам, отправляет на обработку серверу, результат работы сервера получает клиент, обрабатывает и отдает пользователю.
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39465057
Common Lisp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему для ковыряния носа до сих пор не сделаны шаблоны в stl?
...
Рейтинг: 0 / 0
Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
    #39465289
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Common LispПочему для ковыряния носа до сих пор не сделаны шаблоны в stl?
Потому что это очень сложный вариативный процесс не поддающийся формализации
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему для клиент-серверных приложений до сих пор не сделаны шаблоны в stl?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]