Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> стоит ли писать HTTP сервер на MFC? интерфейс написан на MFC 
V
    Опции темы
asmdzen
Дата 24.5.2011, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



**


Профиль
Группа: Участник
Сообщений: 345
Регистрация: 28.11.2010

Репутация: 3
Всего: 5



Пишу небольшой HTTP сервер, писал интерфейс на MFC, стоит ли писать серверную часть тоже на MFC?
или все же лучше использовать boost::asio или чистые сокеты?
PM MAIL   Вверх
igsilya
Дата 24.5.2011, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 12.9.2009

Репутация: нет
Всего: нет



сам только что закончил писать HTTP сервер. По моему лучше чистых сокетов ничего не существует. Стивенс вам в помощь. smile 
PM MAIL   Вверх
asmdzen
Дата 24.5.2011, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



**


Профиль
Группа: Участник
Сообщений: 345
Регистрация: 28.11.2010

Репутация: 3
Всего: 5



igsilya, не очень хочется заморачиваться потоками вручную )

будет ли это правильным решением - объект-поток создается с помошъю new, при завершении работы потока убивать этот объект с помошъю auto_ptr который указывает на this?
PM MAIL   Вверх
boostcoder
Дата 24.5.2011, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



зачем писать?
тут 4 штуки уже написанных  smile

Добавлено через 6 минут и 26 секунд
Цитата(asmdzen @  24.5.2011,  20:03 Найти цитируемый пост)
бъект-поток создается с помошъю new, при завершении работы потока убивать этот объект с помошъю auto_ptr который указывает на this?

по потоку на клиента? smile 
PM WWW   Вверх
igsilya
Дата 24.5.2011, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 12.9.2009

Репутация: нет
Всего: нет



Цитата(boostcoder @ 24.5.2011,  20:44)
по потоку на клиента? smile

ну вообще-то так обычно и делают. Еще раз говорю: почитайте "Стивенс У. Р. -разработка сетевых приложений."
PM MAIL   Вверх
boostcoder
Дата 24.5.2011, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



Цитата(igsilya @  24.5.2011,  20:57 Найти цитируемый пост)
так обычно и делают

я наверное не те книжки читал smile

Цитата(igsilya @  24.5.2011,  20:57 Найти цитируемый пост)
"Стивенс У. Р. -разработка сетевых приложений."

эту книжку не читал. но по потоку на клиента - тупиковая архитектура.
PM WWW   Вверх
asmdzen
Дата 24.5.2011, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



**


Профиль
Группа: Участник
Сообщений: 345
Регистрация: 28.11.2010

Репутация: 3
Всего: 5



boostcoder, можете документацию какую предложить? интересен сам подход к проектированию сервера.
PM MAIL   Вверх
boostcoder
Дата 24.5.2011, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



обычные архитектуры: 1)пул потоков, 2)сопрограммы.

Добавлено через 1 минуту и 38 секунд
Цитата(asmdzen @  24.5.2011,  21:07 Найти цитируемый пост)
сам подход к проектированию сервера

подход и архитектура формируются на основании требований. у вас их не видно.

Добавлено через 10 минут и 37 секунд
еще вариант - использовать libevent, если boost сложен. там есть возможность просто создать http сервер.
http://monkey.org/~provos/libevent/doxygen-1.4.10/index.html
http://monkey.org/~provos/libevent/doxygen.../evhttp_8h.html

Добавлено через 11 минут и 12 секунд
и вот: http://incpp.blogspot.com/2009/05/http-libevent.html
PM WWW   Вверх
igsilya
Дата 24.5.2011, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 12.9.2009

Репутация: нет
Всего: нет



Цитата(boostcoder @  24.5.2011,  21:07 Найти цитируемый пост)
обычные архитектуры: 1)пул потоков, 2)сопрограммы.


и вы хотите сказать, что в пуле потоков не по потоку на клиента?
или тогда поясните что именно вы имели ввиду под сочетанием "по потоку на клиента".
PM MAIL   Вверх
boostcoder
Дата 24.5.2011, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



Цитата(igsilya @  24.5.2011,  21:19 Найти цитируемый пост)
и вы хотите сказать, что в пуле потоков не по потоку на клиента?

естественно нет.

Это сообщение отредактировал(а) boostcoder - 24.5.2011, 21:22
PM WWW   Вверх
igsilya
Дата 24.5.2011, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 12.9.2009

Репутация: нет
Всего: нет



Цитата(boostcoder @  24.5.2011,  21:21 Найти цитируемый пост)
естественно нет.

а не могли бы вы рассказать как это так можно эффективно обрабатывать сразу одновременно 2 запроса одним потоком.
PM MAIL   Вверх
boostcoder
Дата 24.5.2011, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



Цитата(igsilya @  24.5.2011,  21:27 Найти цитируемый пост)
как это так можно эффективно обрабатывать сразу одновременно 2 запроса одним потоком.

долго объяснять.
в двух словах: неблокирующие сокеты и операции с ними в виде задач. т.е. к примеру, чтение из сокета в терминах asio - это задача. формирует задачу и управляет ею asio::io_service.
в общем доку читайте: "The Proactor Design Pattern: Concurrency Without Threads"

Это сообщение отредактировал(а) boostcoder - 24.5.2011, 21:38
PM WWW   Вверх
borisbn
Дата 24.5.2011, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



> Пишу небольшой HTTP сервер, писал интерфейс на MFC
Объясните несведущему в серверостроении - как у http-сервера м.б. интерфейс?

А по вопросу - нет. Не стОит, потому, что MFC - труп, даже не ходячий, а еле ползающий. См. в сторону boost или Qt


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
igsilya
Дата 24.5.2011, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 12.9.2009

Репутация: нет
Всего: нет



Цитата(borisbn @  24.5.2011,  21:58 Найти цитируемый пост)
Объясните несведущему в серверостроении - как у http-сервера м.б. интерфейс?

видимо автору лень или неудобно делать конфиг. файлы (или логи) или просто делать вывод в стандартные потоки, и он решил вынести настройки и какую-нибудь отладочную инфу в графику.
PM MAIL   Вверх
borisbn
Дата 24.5.2011, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Я вот тут подумал, м.б. автор хотел сказать
Пишу небольшой HTTP сервер. До этого писал только интерфейс и только на MFC
???
тогда понятно.

Это сообщение отредактировал(а) borisbn - 24.5.2011, 22:16


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0557 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.