![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
но не писать же свою реализацию сокетов со всем вытекающим... я еще неделю назад подумывал использовать POCO. но это не удобно, тянуть в проект еще что-то. у меня проект полностью написан с использованием буста. ну еще openssl... Это сообщение отредактировал(а) boostcoder - 10.4.2011, 13:45 |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
пока вопросы возникшие в этой теме освещены документацией... не смотря на то, что она действительно скудная.. ;) Добавлено через 41 секунду asio Вас уже испугало ? ![]() ![]() Добавлено через 5 минут и 47 секунд при чтении не делать start_write, a добавлять в очередь, из которой забирать по writen.. Добавлено через 8 минут и 47 секунд
да, но палка о двух концах, усложняет при отсутствии хорошей и ясной литературы .. но облегчает пользование при понимании .. ![]() |
||||
|
|||||
boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
это не так. в последней версии исходников, я сделал проверку на сервере, на предмет порченных/неожидаемых данных. сервер ни разу не обнаружил несоответствие во входящих данных. Добавлено через 1 минуту и 50 секунд
переделаю. не вопрос. |
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
||||
|
||||
boostcoder |
|
||||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
хм.. а это очень любопытно.. Добавлено @ 14:15 а если очередь пуста, то по какому событию делать проверку/перезапуск отправки из очереди? Добавлено @ 14:16 ужо 2.2 мильярда) total requests : 2212348580 total answers : 2212269496 Добавлено @ 14:17
хотя.. не вижу принципиальной разницы.. в чем она? Добавлено @ 14:22
а разве sendmsg() и recvmsg() не используют writev() и readv() ? хотя ни в одной из моих книжек по программированию для линукс, не говорится об атомарности записи/чтения... погуглю.. Это сообщение отредактировал(а) boostcoder - 10.4.2011, 14:31 |
||||||
|
|||||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
представьте ситуацию когда на два чтения должна происходить одна запись ![]() Добавлено через 1 минуту и 46 секунд
добавить флаг.. если очередь пуста и нет активной write, то после добавления стартовать ее, иначе просто добавлять.. |
|||
|
||||
phprus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 22.8.2006 Репутация: 1 Всего: 3 |
||||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
phprus, ок. отпишусь.
mes, вот что получилось. изменил только сервер. оно даже работает ![]()
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
зы
нехочу постоянно помнить о познаных ограничениях. хочу обертку над сокетом. умную. удобную. |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
![]()
а разве asiо не предлагает ? ту которую Вы раньше применяли, в той длинной теме.. Добавлено @ 18:58 оглянувшись назад, можно оценить насколько пророчески были слова MAKCim ![]() ![]() Это сообщение отредактировал(а) mes - 10.4.2011, 18:58 |
||||
|
|||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
||||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 6 Всего: 207 |
нет Добавлено через 4 минуты и 45 секунд boostcoder, сейчас, кстати посмотрел код ядра и немного офигел http://tomoyo.sourceforge.jp/cgi-bin/lxr/s...ipv4/tcp.c#L914 что-то я не вижу локов это наводит на мысль, что в linux'е лучше не пытаться писать в сокет из более одного потока без своих локов Добавлено через 7 минут и 56 секунд ![]() это нормально, психика у нас устроена таким образом, что мы априори не хотим признавать, что ошибка может быть у нас поэтому ищем оправдание себе в виде желания увидеть баг в другом просто когда много раз об это спотыкаешься, начинаешь относится к себе более критически дабы решить проблему быстрее -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
||||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 6 Всего: 207 |
короче я нагнал
лок там есть в самом верху, я проглядел, паника отменяется ![]() -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
boostcoder |
|
||||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
в структуре msghdr есть такой член:
эта же структура используется и для writev(). вот я и подумал, что в sendmsg() используется writev() дабы не плодить код.
ну вот, еще полезная информация. Добавлено через 52 секунды это он? :
|
||||||
|
|||||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |