Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > что актуальнее использовать?


Автор: xTr1m 17.9.2010, 19:45
Доброго времени суток. Ситуация такая, программирую на с++ не первый год. Но все это время
занимался сугубо гуи + всякие прикладные вещи. Захотел заняться сетью, но вижу что тут
есть разные пути. Насколько я понял есть сам С, есть всякие надстройки в библиотеках типа MFC, ATL,
а есть вообще библиотеки, предназначенные только для работы с сетью. Куда лучше обратить свой
взор, что перспективней? Спасибо.

Автор: ilyagoo 17.9.2010, 20:46
сокеты - api конкретной системы. MFC и т.д. не более, чем обёртки. если вам, к примеру, интересно было бы заняться кросс-платформенной разработкой - смотрите на сокеты беркли. если хотите написать браузер, то что-нибудь вроде webkit можно использовать. помимо всего прочего есть некоторое количество кросс-платформенных библиотек типа Qt. все будет зависеть от ваших потребностей и интересов.

Автор: Cheloveck 17.9.2010, 21:07
WinSocket содран с сокетов беркли чуть менее, чем полностью. Немного макросов (или функций) и они становятся полностью кроссплатформенными.

Автор: ilyagoo 17.9.2010, 21:26
но есть нюансы))
они даже в никсах реализованы с некоторыми различиями.

Автор: boostcoder 17.9.2010, 22:20
считаю, что все кроме asio - моцги в помойку. кто-то оспорит? аргументы пожалуйста smile 

Автор: ilyagoo 17.9.2010, 22:43
boost?

Автор: boostcoder 17.9.2010, 22:49
ilyagoo, asio, в нынешний момент является частью буста, а в будущем войдет в стандартную библиотеку с++.
вопрос то в чем?

Автор: ilyagoo 17.9.2010, 23:34
так спросил.

Автор: Modul 17.9.2010, 23:38
Цитата(boostcoder @  17.9.2010,  22:20 Найти цитируемый пост)
считаю, что все кроме asio - моцги в помойку. кто-то оспорит? аргументы пожалуйста


Winsock2 достаточно прост !

Что оспаривать то.

Автор: boostcoder 17.9.2010, 23:41
Modul, я не о простоте. и тем более, не об платформозависимости. разницу ощущаете? smile 

Автор: Modul 17.9.2010, 23:49
Цитата(boostcoder @  17.9.2010,  23:41 Найти цитируемый пост)
разницу ощущаете? 


Пока не написали в чем я должен ее ощутить.

Тогда приведите свои критерии.

Автор: xTr1m 18.9.2010, 07:28
Тогда можно ли сказать, что asio (как будущая часть стандарта С++) будет более предпочтительнее?

Автор: djamshud 18.9.2010, 12:37
boostcoder, чем asio так хороша? Мультиплексировать IO умеет? Пользуюсь unix sockets:)

Автор: GrayCardinal 18.9.2010, 14:00
Цитата

считаю, что все кроме asio - моцги в помойку. кто-то оспорит? аргументы пожалуйста

Всё равно всё на беркли-сокетах крутится smile 

Автор: boostcoder 18.9.2010, 16:31
Цитата(djamshud @  18.9.2010,  12:37 Найти цитируемый пост)
Мультиплексировать IO умеет?

хз.

Цитата(GrayCardinal @  18.9.2010,  14:00 Найти цитируемый пост)
Всё равно всё на беркли-сокетах крутится

ошибаетесь.

Автор: djamshud 18.9.2010, 17:04
boostcoder, ок. У меня висит тыща клиентов. Как на asio обрабатывать данные с них?

Автор: GrayCardinal 18.9.2010, 17:25
Цитата

ошибаетесь. 

Возможно smile

Автор: boostcoder 18.9.2010, 19:12
Цитата(djamshud @  18.9.2010,  17:04 Найти цитируемый пост)
У меня висит тыща клиентов. Как на asio обрабатывать данные с них? 

привести пример в коде? или на словах достаточно?
http://forum.vingrad.ru/index.php?showtopic=309830&view=findpost&p=2214460 отвечал.
в доке есть минимальный пример: http://www.boost.org/doc/libs/1_44_0/doc/html/boost_asio/tutorial/tutdaytime3.html
http://www.boost.org/doc/libs/1_43_0/doc/html/boost_asio/example/nonblocking/third_party_lib.cpp пример связки некоторого приложения требующего запись-чтение, и использование для сетевого ввода-вывода asio.

Автор: djamshud 18.9.2010, 21:13
Спасибо. Как-то очень многословно.

Автор: ilyagoo 18.9.2010, 23:50
Цитата(GrayCardinal @  18.9.2010,  14:00 Найти цитируемый пост)
Всё равно всё на беркли-сокетах крутится  

+1

Автор: GrayCardinal 19.9.2010, 14:48
boostcoder, 
Сейчас глянул системные вызовы. Там отродясь ничего напоминающего asio. Т.е. через что тогда, ежели не через беркли-сокеты ?  smile

Добавлено через 27 секунд
У меня Linux 2.6.34

Автор: boostcoder 19.9.2010, 22:52
Цитата(GrayCardinal @  19.9.2010,  14:48 Найти цитируемый пост)
Сейчас глянул системные вызовы.

поясните, куда вы "глядели" ?

Цитата(GrayCardinal @  19.9.2010,  14:48 Найти цитируемый пост)
Там отродясь ничего напоминающего asio.

где "там" ? и какое должно быть то, что напоминает asio? ;)

Цитата(GrayCardinal @  19.9.2010,  14:48 Найти цитируемый пост)
Т.е. через что тогда, ежели не через беркли-сокеты ?

мдя... все слова излишни...

Добавлено через 27 секунд
Цитата(GrayCardinal @  19.9.2010,  14:48 Найти цитируемый пост)
У меня Linux 2.6.34

рад за вас.

Автор: djamshud 20.9.2010, 11:22
GrayCardinal, asio - это не набор системных вызово, а кроссплатформенная высокоуровневая библиотека. На разных системах может быть реализована по-разному, т.е. через разные сисколы, но API един для всех.

Добавлено через 37 секунд
>У меня Linux 2.6.34

Ой, а у меня меньше :(

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)