|
7 / 7 / 1
Регистрация: 02.11.2011
Сообщений: 56
|
||||||||||||||||
Сериализация объекта для передачи по сети19.04.2012, 18:34. Показов 13318. Ответов 9
Метки нет (Все метки)
Здравствуйте многоуважаемые форумчане.
Взываю к вам, ибо ответа найти я не могу =( В шарпы пришел из С, и сейчас надо переделать приложение, раннее написанное. Столкнулся со скользким моментом... В С я открывал соккет и бросал туда структуру, в которой хранились данные. Структура отправлялась, а на другой стороне я просто ее принимал и приводил к типу такой же структуры. В шарпах нужно использовать сериализацию объекта, я это понимаю.. Но в инете примеры сериализации только для файлов. В примерах автор открывает поток, допустим Streamwriter и пишет в него объект.. Но вот в чем проблема...
Чтобы сериализовать объект хотел использовать
Направьте на путь истинный пожалуйста
0
|
||||||||||||||||
| 19.04.2012, 18:34 | |
|
Ответы с готовыми решениями:
9
Сериализация данных для отправки по сети Функция вне класса для передачи функции объекта |
|
2 / 2 / 0
Регистрация: 25.03.2012
Сообщений: 31
|
|
| 19.04.2012, 19:06 | |
|
а MSDN для чего?
http://msdn.microsoft.com/ru-r... 1as27.aspx
0
|
|
|
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
|
||||||
| 19.04.2012, 19:09 | ||||||
|
есть поток MemoryStream
как раз в него можно записать подобные вещи и потом методом ToArray получить массив байтов кстати говоря на счет структур..
0
|
||||||
|
7 / 7 / 1
Регистрация: 02.11.2011
Сообщений: 56
|
|||||||||||||
| 19.04.2012, 19:39 [ТС] | |||||||||||||
|
Добавлено через 19 минут Пробовал сделать вот так. Серилизация
Message: Unable to find assembly Что я опять не так сделал? о_О
0
|
|||||||||||||
|
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
|
|
| 19.04.2012, 20:02 | |
|
во первых лучше сразу создавай new MemoryStream(serializedAsBytes);
а во вторых - чую в 2 разных проектах дело происходит чтоб BinaryFormatter работал код десериализуемого класса должен быть общий и единый при (де/се)риализации т.е класс MSG надо вынести в дллку и прицепить ее к обоим проектам
2
|
|
|
7 / 7 / 1
Регистрация: 02.11.2011
Сообщений: 56
|
||||||
| 19.04.2012, 20:03 [ТС] | ||||||
|
Все, вопрос можно считать закрытым.
m0nax, спасибо за помощь! Через memorystream работает, просто где-то в коде ошибся. Вот моя корявая реализация сериализации (каламбурчик), для тех кому понадобится =))
5
|
||||||
|
2 / 2 / 0
Регистрация: 31.10.2012
Сообщений: 24
|
|
| 02.11.2013, 21:25 | |
|
Понимаю, тема старая... Но!
Такой вопрос! А если мне нужно передавать и принимать сразу несколько классов? Скажем больше 10ти. Что делать в этом случаи? Судя с этих методов то ДеСериализация зависит от конкретно принятого класса. Мне же приходит просто "data" которую я должен еще правильно запихнуть в нужный ей метод ДеСериализации. Что в этом случаи делать??
0
|
|
|
foo();
|
|||
| 02.11.2013, 21:31 | |||
|
0
|
|||
|
2 / 2 / 0
Регистрация: 31.10.2012
Сообщений: 24
|
|
| 02.11.2013, 21:36 | |
|
Тут проблема не в отправке, а в приеме скорей.... Приходит, как не крути, просто data типа byte[]. А эту дату нужно запихнуть еще в нужный метод. Вот я и спрашиваю, как это лучше сделать?
0
|
|
|
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
|
|
| 02.11.2013, 23:09 | |
|
Вот три подхода, которые можно примерить к данной ситуации:
1. Есть такое слово ASN.1 В полном объёме оно в этом случае вряд ли пригодится, но смысл там в том, что сначала идёт маркер типа данных, потом размер, потом данные в указанном количестве. Этот метод применяется при последовательном обмене данными между коммутаторами сотовой связи. Можно что-то подобное организовать у себя, чтобы собирая с соски набор байтов заполнять ими структуры или классы на принимающей стороне. 2. Но я, если честно, в подобной ситуации передавал через сокеты цельными строками XMLки, на принимающей стороне десериализовывал в XElement, по имени корня определял, какому классу скормить каждую полученную XMLку. 3. Если ситуация позволяет, то есть по обоим концам соединения .net код, то можно организовать wcf канал и кидаться через него xmlками. В этом случае можно либо по контенту полученного xml послания понять, что это за структура, либо для каждого типа структуры применить отдельный метод.
2
|
|
| 02.11.2013, 23:09 | |
|
Помогаю со студенческими работами здесь
10
Программа для передачи сообщений по сети Программа для передачи видео по сети Приложение для передачи файлов по сети Программа для передачи документов по сети ActiveX компонент для передачи данных по сети Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|