Стратегия межъязыкового (Java и c#) сериализация объекта

Я работаю над проектом, где я должен буду сериализировать некоторые данные в приложении java 6 и десериализовать их приложение c# 2.0. Существует ли стратегия или что-то уже существующее, на которое я могу посмотреть, который позволил бы мне делать это с этими двумя языками? Я предполагаю, что они оба поддерживают сериализацию XML, но мне действительно нужна она, чтобы быть двоичный сериализированный.

15
задан Lee Warner 4 January 2010 в 18:56
поделиться

6 ответов

[

] Протокольные буферы были бы хорошим вариантом здесь. На стороне C# я бы порекомендовал дотнет-протобуфы Джона Скита [] [] для этого случая использования, так как у него один и тот же API с обеих сторон (его C#-версия является портом версии Google Java, входящей в дистрибутив ядра). Если вы хотите, чтобы C# был более "типичным .NET", то []protobuf-net[] может помочь.[

]. [

] (формат проводов, очевидно, идентичен между версиями; API может отличаться)[

]. [

] Маленький, быстрый, эффективный, [] портативный []. [

] [

] Для информации, я [] знаю [], что protobuf-net имеет поддержку .NET 2.0; честно говоря, я не пробовал это на версии Джона, но я [] ожидаю [], что это было бы - не так много, что вам нужно 3.0/3.5 в protobuf.[

].
17
ответ дан 1 December 2019 в 00:45
поделиться

Можно попробовать гессенский:

http://hessian.caucho.com/index.xtp

Он бинарный, поддерживает Java, C++ и некоторые другие языки. Я никогда не пользовался им сам, но наткнулся на него, подумал, что это интересно, и сделал закладку...

.
4
ответ дан 1 December 2019 в 00:45
поделиться
[

] Двоичная сериализация каждого языка по умолчанию несовместима, поэтому вы не сможете ее использовать. [

] [

] Существует множество технологий сериализации на разных языках, которые поддерживают Java, C# и другие языки: [

]. [] [

] Из них JSON не является двоичным, но очень эффективен для строкового языка. Буферы Thrift и Protocol Buffers являются двоичными и имеют очень компактное представление.[

].
6
ответ дан 1 December 2019 в 00:45
поделиться
[

] [] Буферы протокола [] ([] сайт Google []) [

] [

][]Java Tutorial[][

] [

] [] Порт C# Джона Скита [] [

] [

] [] Порт C# Марка Грэвелла [] [

] [

] Плюсы: Быстро, и вы можете поставить жучок довольно много людей, которые имеют отношение к этой штуке на SO... ;-)[

] [

] Позвольте мне использовать проектный сайт Марка: [] Производительность вполне приемлема []... [

]
9
ответ дан 1 December 2019 в 00:45
поделиться
[

]Буферы протокола Google []Буферы протокола [] - это то, что вы могли бы изучить. Вам нужно будет проверить состояние удобства использования реализации C#, но во всех остальных отношениях, я думаю, что она удовлетворяет вашим потребностям.[

]
3
ответ дан 1 December 2019 в 00:45
поделиться
[

] Я не верю, что бинарная сериализация будет работать, так как C# и Java понятия не имеют о нативных типах друг друга. [

]
0
ответ дан 1 December 2019 в 00:45
поделиться