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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RE: библиотекa распределенного общения, вопросы, предложения и обсуждение 
:(
    Опции темы
boostcoder
Дата 23.3.2011, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

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



mes, последние три цифры - это аргумент передаваемый методу. т.е. в передающем коде используется цикл и передается его индекс.
PM WWW   Вверх
mes
Дата 23.3.2011, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(boostcoder @  22.3.2011,  23:06 Найти цитируемый пост)
почему sleep() 

и все таки похоже на наложение потоков..

Добавлено через 1 минуту и 7 секунд
Цитата(boostcoder @  22.3.2011,  23:17 Найти цитируемый пост)
, последние три цифры - это аргумент передаваемый методу. т.е. в передающем коде используется цикл и передается его индекс. 

это я понял.. интересует будет ли она также 348й если увеличичить объем сериализуемых данных.. 



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 23.3.2011, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

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



Цитата(mes @  23.3.2011,  00:14 Найти цитируемый пост)
инструмент кисточка на панели инструментов и дальше от руки мышкой выводите стрелочки

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

Добавлено через 2 минуты и 29 секунд
Цитата(mes @  23.3.2011,  00:17 Найти цитируемый пост)
интересует будет ли она также 348й если увеличичить объем сериализуемых данных.. 

ааа, т.е. будет ли валиться на 348`ой итерации? вряд-ли. сейчас проверю...

Цитата(mes @  23.3.2011,  00:17 Найти цитируемый пост)
и все таки похоже на наложение потоков..

одинаково даже с одним клиентом и одним потоком.

зы
завтра коллегу опрошу порисовать. он вроде как умеет. по крайней мере говорит так.

Добавлено через 10 минут и 23 секунды
Цитата(mes @  23.3.2011,  00:17 Найти цитируемый пост)
нтересует будет ли она также 348й если увеличичить объем сериализуемых данных.. 

изменил кол-во передаваемых аргументов.
теперь валится на 328`ой.

ожидаю это:
Цитата

22 serialization::archive 9 0 0 8 servimpl 2 m1 38 22 serialization::archive 9 328 3 328

получаю это:
Цитата

22 serialization::arch^22 serialization::archive 9 0 0 8 servimpl 2 m1 38 22 serialization:


Добавлено через 13 минут и 1 секунду
Цитата(boostcoder @  23.3.2011,  00:19 Найти цитируемый пост)
валиться на 348`ой

Цитата(boostcoder @  23.3.2011,  00:19 Найти цитируемый пост)
валиться на 328`ой

сочетание тройки и восьмерки сказывается? smile 
PM WWW   Вверх
mes
Дата 23.3.2011, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(boostcoder @  22.3.2011,  23:19 Найти цитируемый пост)
сочетание тройки и восьмерки сказывается?

полагаю, что магическое число все ж 32767.. этим и объясняется стабильность сбоя.. 
но что ж все таки там натворили, не видя кода, трудно предположить.. 



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 23.3.2011, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

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



Цитата(mes @  23.3.2011,  01:42 Найти цитируемый пост)
но что ж все таки там натворили

мой код не при чем. писал же, что tcpdump показывает что данные ушли.
или что, запрещено использовать такие комбинации чисел в отправляемых данных? это же бред smile

Добавлено через 1 минуту и 47 секунд
Цитата(mes @  23.3.2011,  01:42 Найти цитируемый пост)
полагаю, что магическое число все ж 32767

а почему sleep() решает проблему?

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


любитель
****


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

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



Цитата(boostcoder @  23.3.2011,  00:45 Найти цитируемый пост)
мой код не при чем. писал же, что tcpdump показывает что данные ушли.

ну это еще не говорит, что не Вы натворили.. Другие же работают без сбоя в этих же условиях smile

Цитата(boostcoder @  23.3.2011,  00:45 Найти цитируемый пост)
или что, запрещено использовать такие комбинации чисел в отправляемых данных? это же бред 

при чем тут комбинация чисел ?

Цитата(boostcoder @  23.3.2011,  00:45 Найти цитируемый пост)
а почему sleep() решает проблему?

не знаю.. я не телепат smile



--------------------
PM MAIL WWW   Вверх
mes
Дата 23.3.2011, 02:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



и кстати еще 10 символов не хватает.. длина строки 90, а должна быть 100.. 
вот там и ошибка..

Добавлено через 51 секунду
там же и наш знаковый 16тибитный инт переполняется.. 




--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 23.3.2011, 02:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

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



Цитата(mes @  23.3.2011,  02:16 Найти цитируемый пост)
и кстати еще 10 символов не хватает.. длина строки 90, а должна быть 100.. 

архив имеет длину 94 символа. просто в конце идут 4 непечатный символа, потому я их не привел.
а с чего Вы взяли что должно быть 100?
PM WWW   Вверх
mes
Дата 23.3.2011, 02:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



поэксперементируйте еще плиз несколько раз (чтоб хотя бы 5 примеров было)
и выложите данные:  длина строки, длина обреза и итерация на которой произошел обрез..

Добавлено через 1 минуту и 16 секунд
и куда вы пишете ? в boost:ip::tcp::socket ?

Добавлено через 2 минуты и 42 секунды
приемка отправка на одном компе ? т.е. тестируете как локальный сервер ?




--------------------
PM MAIL WWW   Вверх
mes
Дата 23.3.2011, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(boostcoder @  23.3.2011,  00:45 Найти цитируемый пост)
а почему sleep() решает проблему?

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





--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 24.3.2011, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

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



Цитата(mes @  23.3.2011,  02:42 Найти цитируемый пост)
и куда вы пишете ? в boost:ip::tcp::socket ?

да.

Цитата(mes @  23.3.2011,  02:42 Найти цитируемый пост)
приемка отправка на одном компе ? т.е. тестируете как локальный сервер ?

на локальной машине такой ошибки не возникает.

Цитата(mes @  23.3.2011,  12:02 Найти цитируемый пост)
вероятно где то не проверяется готовность условной линии передачи..

в таком случае, boost::asio::async_* по идее не должны вызывать колбяк пока они там чего-то не сделают. я же не API системы использую.

в общем прикладываю мегапростой пример воспроизводящий ошибку.


Это сообщение отредактировал(а) boostcoder - 24.3.2011, 02:17

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  asiotest.zip 2,75 Kb
PM WWW   Вверх
boostcoder
Дата 24.3.2011, 02:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

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



Цитата(boostcoder @  24.3.2011,  00:48 Найти цитируемый пост)
на локальной машине такой ошибки не возникает.

уже возникает... не могу понять закономерность.
PM WWW   Вверх
boostcoder
Дата 24.3.2011, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

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



в венде, корректно отработало два раза из, приблизительно, тридцати. в линуксе не разу..

Добавлено через 2 минуты и 56 секунд
зы
mes, что-то не чистят модераторы тему. наверное это из-за того что не я ТС.

Это сообщение отредактировал(а) boostcoder - 24.3.2011, 15:19
PM WWW   Вверх
mes
Дата 25.3.2011, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 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


--------------------
PM MAIL WWW   Вверх
mes
Дата 25.3.2011, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



еще немного дополнил :
http://liveworkspace.org/code/989c8c8da555...522627c428c0eab

вопросы на данный момент :
1. как минимальными действиями для пользователя позволить ему проинициализировать карту методов.. 
2. как проинвокить tuple стандартными средствами.. (без написания рекурсивного шаблона итератора)

Это сообщение отредактировал(а) mes - 25.3.2011, 20:48


--------------------
PM MAIL WWW   Вверх
Страницы: (5) Все 1 2 [3] 4 5 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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