![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
mes, последние три цифры - это аргумент передаваемый методу. т.е. в передающем коде используется цикл и передается его индекс.
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
и все таки похоже на наложение потоков.. Добавлено через 1 минуту и 7 секунд
это я понял.. интересует будет ли она также 348й если увеличичить объем сериализуемых данных.. |
|||
|
||||
| boostcoder |
|
||||||||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
это я нашел. но там что-то со слоями. потому что я рисую, и ничего не рисуется. цвет тоже вибирал. при сохранении, GIMP сказал что-то о том, что имеются слои. и сказал что их нужно активировать. и тут я озадачился... Добавлено через 2 минуты и 29 секунд
ааа, т.е. будет ли валиться на 348`ой итерации? вряд-ли. сейчас проверю... одинаково даже с одним клиентом и одним потоком. зы завтра коллегу опрошу порисовать. он вроде как умеет. по крайней мере говорит так. Добавлено через 10 минут и 23 секунды
изменил кол-во передаваемых аргументов. теперь валится на 328`ой. ожидаю это:
получаю это:
Добавлено через 13 минут и 1 секунду сочетание тройки и восьмерки сказывается? |
||||||||||
|
|||||||||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
полагаю, что магическое число все ж 32767.. этим и объясняется стабильность сбоя.. но что ж все таки там натворили, не видя кода, трудно предположить.. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
мой код не при чем. писал же, что tcpdump показывает что данные ушли. или что, запрещено использовать такие комбинации чисел в отправляемых данных? это же бред Добавлено через 1 минуту и 47 секунд а почему sleep() решает проблему? Это сообщение отредактировал(а) boostcoder - 23.3.2011, 01:46 |
|||
|
||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
ну это еще не говорит, что не Вы натворили.. Другие же работают без сбоя в этих же условиях
при чем тут комбинация чисел ? не знаю.. я не телепат |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
и кстати еще 10 символов не хватает.. длина строки 90, а должна быть 100..
вот там и ошибка.. Добавлено через 51 секунду там же и наш знаковый 16тибитный инт переполняется.. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
поэксперементируйте еще плиз несколько раз (чтоб хотя бы 5 примеров было)
и выложите данные: длина строки, длина обреза и итерация на которой произошел обрез.. Добавлено через 1 минуту и 16 секунд и куда вы пишете ? в boost:ip::tcp::socket ? Добавлено через 2 минуты и 42 секунды приемка отправка на одном компе ? т.е. тестируете как локальный сервер ? |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
полагаю что где то есть буфер, который опустошается через N-e время.. размер примерно равен указанной выше константе.. при слишком большой скорости записи вы переполняете его.. пауза дает возможность разгрузить буфер.. полагаю, что это буфер сокета.. но как там устроено я не в курсе.. вероятно где то не проверяется готовность условной линии передачи.. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
да.
на локальной машине такой ошибки не возникает. в таком случае, boost::asio::async_* по идее не должны вызывать колбяк пока они там чего-то не сделают. я же не API системы использую. в общем прикладываю мегапростой пример воспроизводящий ошибку. Это сообщение отредактировал(а) boostcoder - 24.3.2011, 02:17 Присоединённый файл ( Кол-во скачиваний: 7 )
asiotest.zip 2,75 Kb |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
уже возникает... не могу понять закономерность. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
в венде, корректно отработало два раза из, приблизительно, тридцати. в линуксе не разу..
Добавлено через 2 минуты и 56 секунд зы mes, что-то не чистят модераторы тему. наверное это из-за того что не я ТС. Это сообщение отредактировал(а) boostcoder - 24.3.2011, 15:19 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
переписал (пока часть) с учетом ново-выяснившихся деталей :
http://liveworkspace.org/code/8f13983022d1...e983ae1afa54fa1 легенда : dy::proto<> - класс описывающий группу вызовов dy::proto<>::call<Args...> - вызов группирующий из аргументов пакет сообщения dy::free_fn<> - дин. интерфейс передачи сообщения как к свободной функции dy::member_fn<> - дин. интерфейс передачи сообщения, как члену классу dy::method<> - реализация вышеназванных интерфейсов dy::map<>- карта соответствий вызова к методу dy::class_<> - класс-интерфейс обработчика сообщений.. msg - условное сообщение msg_traits - свойства условного сообщения, необходимые для взаимодействия с dy client - условный класс-реализация обработчика сообщений Это сообщение отредактировал(а) mes - 25.3.2011, 14:40 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
еще немного дополнил :
http://liveworkspace.org/code/989c8c8da555...522627c428c0eab вопросы на данный момент : 1. как минимальными действиями для пользователя позволить ему проинициализировать карту методов.. 2. как проинвокить tuple стандартными средствами.. (без написания рекурсивного шаблона итератора) Это сообщение отредактировал(а) mes - 25.3.2011, 20:48 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |