Mono - общий код на клиенте и сервере. , - PullRequest
3 голосов
/ 14 декабря 2008

Мы пытаемся придумать наш стандарт клиента и сервера, и сейчас идет большая дискуссия. Одна из идей - клиент C # и серверы Java, использующие какую-то проприетарную библиотеку сообщений для обмена объектами данных (представьте, что XML похож на структуру.)

Проблема с этой моделью заключается в том, что существует много кода, который необходимо продублировать (проверка, анализ), который можно просто использовать повторно, если вы также используете C # на сервере. Если есть большой толчок для использования машины Linux, то не будет моно поддерживать вашу цель. .

Кто-нибудь еще имеет эту дилемму?

Ответы [ 4 ]

4 голосов
/ 14 декабря 2008

Есть рамки для этого. ICE (ZeroC), «буферы протокола» и т. Д.

Например, моя реализация буферов протокола (protobuf-net) работает на моно, MS .NET, CF, Silverlight и т. Д., А двоичный формат совместим с диапазоном языков (java и т. Д.) , Если вы начинаете с .proto (заказного языка определения), вы можете использовать его для создания слоя объектов на каждом нужном вам языке.

1 голос
/ 14 декабря 2008

Я бы посоветовал вам использовать какой-то старый, но хороший стандарт для передачи данных между ними, например, SOAP и XML-RPC. Если что-либо из этого возможно или возможно, вы можете попробовать JSON или написать свой собственный формат XML. В последнее время довольно часто упоминается о буферах протоколов, но я не рассматривал их, поэтому действительно ничего не могу сказать по этому поводу.

1 голос
/ 14 декабря 2008

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

Как только вы это сделаете, вы можете начать с C # на Mono. И затем, если это окажется неработоспособным, вы можете переключиться на другой язык.

0 голосов
/ 14 декабря 2008

Я бы попытался сохранить клиент и сервер в одном и том же времени выполнения (Java или CLR). Мы добились большого успеха, используя сочетание Mono и .Net клиент / сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...