|
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 504
|
|||||||||||
Преобразовать Node в строку и наоборот05.03.2013, 20:46. Показов 9535. Ответов 119
Метки нет (Все метки)
имеется класс
0
|
|||||||||||
| 05.03.2013, 20:46 | |
|
Ответы с готовыми решениями:
119
|
|
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 504
|
||
| 07.03.2013, 19:37 [ТС] | ||
и как этим пользоваться ? ничего понять не могу как получить строку или массив байт и наоборот?
0
|
||
|
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 504
|
||
| 07.03.2013, 20:01 [ТС] | ||
![]() слушайте, знаете что я подумал, может быть мне как нибудь по другому дерево создавать? например вот этимTreeNode, только я опять не понимаю как это работает((( не могли бы помочь простенькое деревце набросать? ![]() http://msdn.microsoft.com/ru-r... enode.aspx ну или ещё как нибудь, главное что бы дерево было быстрое, и легко редактируемое
0
|
||
|
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 504
|
||
| 07.03.2013, 21:07 [ТС] | ||
|
например в том дереве что щас использую, я половины не понимаю
0
|
||
|
Master of Orion
|
|
| 07.03.2013, 21:11 | |
|
kelod, ну подумайте, что вам от этого дерева нужно. А я помогу чем смогу
Только в деталях думайте. например "Нужна вставка" не катит. А вот "нужна вставка, производится либо в самого левого сына либо в узел с таким-то идентификатором". НУ и в таком духе.
0
|
|
|
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 504
|
||
| 07.03.2013, 22:04 [ТС] | ||
|
вообщем пишу я игрушку, ну как пишу, пытаюсь написать, игра состоит из сервера меню и серверов комнат, ну и клиентов конечно же вооот клиенты подключаются к меню, выбирают комнаты в которых играть, при этом данные о игроках хранятся на сервере, вернее данные о комнатах, в которых игроки, плюс кроме всего прочего нужно в момент загрузки уровня предавать из базы координаты появления игроков определённой команды на карте, и того имеем необходимость дерева, обычного не какого не бинарного, содержащего корень и узлы, не каких петель делать не нужно корень / | \ <id комнаты1> <id комнаты2> <id комнаты3> / | \ <кол команд1> <кол ком2> <кол ком2> / \ <команда1> <команда2> / | \ <x> <y> <z> ну это как пример, для наглядности, итого получаем: - необходимость создания корня, в котором храниться его имя, - возможность добавлять к этому корню любое количество потомков, имеющих тоже каждый своё имя, - возможность добавлять к каждому потомку любое количество потомков, имеющих тоже каждый своё имя, - желательно нужен ассоциативный способ доступа к полям - сами поля могут быть все строками, - номера идентификаторов в принципе не важно, информация будет храниться в именах т.е. задание дерева может выглядеть так <корень>add<потомок1> <корень>add<потомок2> <корень>.<потомок1>add<потомок11> <корень>.<потомок1>add<потомок12> - нужно иметь возможность получать количество потомков, - обращаться к конкретному потомку - осуществлять поиск детей определённого родителя по имени - иметь возможность изменять и удалять потомков, причём сразу всех детей и поддетей - не использовать рекурсию (по крайней мере функций) - нужна внутренняя обработка исключений - шустрая работа и отказоустойчивость - собственно симое главное нужно как то передавать это дерево клиенту, передавать имею возможность либо строку либо массив байт в принципе пока вроде всё, может что конечно забыл видите как много нужно все го лишь для простого дерева ![]() Добавлено через 6 минут PS: собственно как это всё вставляться будет значения не имеет, главное результат на входе и что бы работало быстро, например на сколько я знаю массивы шустрее, если количество элементов известно, а на изменение размера нужно много времени и ресурсов, поэтому наверно лучше делать списками, хотя может есть и ещё какие нибудь представления, о которых я не знаю
0
|
||
|
Master of Orion
|
|
| 07.03.2013, 23:57 | |
|
kelod, тут уж лучше список списков списков... потому как на каждом уровне элементы гомогенные, а на различных - гетерогенные, а дерево по-умолчанию гомогенная сд. Но сериализация на фреймворке ниже 4 работать корректно все равно не будет.
0
|
|
|
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 504
|
||
| 08.03.2013, 00:06 [ТС] | ||
|
а может быть заработает? ваши классы заработали А и В, а если не заработает, может можно как то по-другому упаковать можно?? я пробывал делать разделители в строке, типа: комната*команда1,команда2 , но как вы понимаете приходиться прогонять по всему дереву, собирать в строку , а на клиенте всё наоборот, вообщем не айс, может быть покажите мне как сделать хотя бы основу, я попробую работает или нет
0
|
||
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|||
| 08.03.2013, 00:12 | |||
|
Здраствуйте) приятно что меня вспоминают,но я не такой уж прям спец по маршаллинге)
Контрольные вопросы разрешите: 1) Зачем вам маршаллинг?(штука то хорошая) Вы экономите трафик - это да,но будут несколько проблем с этим,но решим,если уже придется. 2) Как сериализация прошла? какая? пытались ХМЛ ? 3) Почему именно в строку? с строками в Шарпее нужно аккуратно. Класс нужно пометить как сериализуемый ну и не все в шарпе можно сериализовать. Добавлено через 3 минуты Если вопрос будет решить сложно - отдам часть своих и чужих наработок для работы с ними. честно - неудобно,сложновато,но это уважают)
0
|
|||
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
| 08.03.2013, 00:16 | |
|
Psilon, wcf почти не юзал,но это БД,обыкновенные бинарные деревья. По простому - можно это реализовать и сделать. Проблема в том,что очень сложно предугадать (используя сериализацию,маршаллинг или еще что) как мы будем работать с записями, потому что в любом провтыканном месте будет вылезать упаковка.
0
|
|
|
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 504
|
|||
| 08.03.2013, 00:42 [ТС] | |||
|
слово маршаллинг я узнал только севодня, посоветовали мне его потому что не работает сериализация сериализация проходит отлично, массив байт из массива получаю, превращаю в строку, потом опять в массив байтов и провожу десериализацию, когда это происходит в том же проекте всё отлично работает, быстро и ошибок не каких, но перенося десериализацию на клиент, появились проблемы, вначале с файлом, я сделал dll и дал к ней доступ обоим проектам, всё вроде заработало, но выдаёт такую ошибку в момент десериализации System.Runtime.Serialization.Serializati onException: Field "Collection`1+items" not found in class CustomTree.Node+NodeCollection at System.Runtime.Serialization.Formatters. Binary.ObjectReader. ReadTypeMetadata (System.IO.BinaryReader reader, Boolean isRuntimeObject, Boolean hasTypeInfo) [0x00000] in <filename unknown>:0 строку передаю, потому что я использую Photon сервер, а он передаёт вроде только строки, по крайней мере пытался передать другое не получаеться, классы у меня помечены, код того класса который я пытаюсь обрабытывать в самом начале я писал, единственное там теперь атрибуты сериализации перед классами стоят, но больше ничего не менял Добавлено через 3 минуты
0
|
|||
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
||
| 08.03.2013, 00:49 | ||
|
kelod, можете выложить или показать файл который получает сервер.
Может он не получает файл полностью? Может рискнем разобраться с сериализацией или сразу на амбразуру с маршалингом? Добавлено через 2 минуты
0
|
||
|
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 504
|
||
| 08.03.2013, 00:54 [ТС] | ||
|
0
|
||
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
| 08.03.2013, 00:58 | |
|
kelod, может на них разная версия фреймворка?
0
|
|
|
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 504
|
||
| 08.03.2013, 01:11 [ТС] | ||
|
да всё работает, щас только что проверил, переслал клиента, отправил назад серверу и попытался на клиенте десериализировать, на клиенте не фурычит, на сервере всё гуд
Добавлено через 4 минуты может быть вы мне подскажите, как фреймворк на юнити 4 поставить? может проблема решиться тогда
0
|
||
|
Кодогенератор
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
|
|
| 08.03.2013, 07:46 | |
|
по поводу ошибки - попробуй сериализовать один и тот же тестовый объект на сервере и клиенте и сравни их побайтно в какой нибудь внешней проге.... и еще раз сверь классы нас сервере и клиенте...
и еще, мб нужно описать вручную параметры сериализациии? т.к. все равно передаешь данные которые можно к строке легко привести...
0
|
|
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
| 08.03.2013, 10:33 | |
|
kelod, с юнити не работал,но 3.5 покатит для любых целей,пока что.
ждемс результатов теста) и еще,попробуйте отправить на сервер какой-нибудь маленький объект,проверить контрольные суммы и десериализировать.
0
|
|
|
Master of Orion
|
|
| 08.03.2013, 10:51 | |
|
0
|
|
| 08.03.2013, 10:51 | |
|
Помогаю со студенческими работами здесь
40
Преобразовать строку
Преобразовать строку в int Преобразовать строку в дату Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|