Разработка сервера C # для обработки платформо-независимых данных? - PullRequest
0 голосов
/ 23 марта 2011

Я занимаюсь разработкой приложения, которое может работать на нескольких платформах (например, windows, macintosh, android, iphone), но которое взаимодействует с данными, хранящимися и обрабатываемыми на одном центральном сервере.

В основном: Сервер содержит состояние мира, включая активных клиентов, их сущность в мире и правила рендеринга мира с точки зрения этой сущности. Клиенты хранят ссылку на эту сущность и отправляют запросы на сервер для обновления ее состояния и получения визуализации на основе их сущности.

Мой самый сильный язык - C #, поэтому я бы предпочел написать сервер, используя это.

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

Можно ли использовать API сокетов .Net с клиентами сокетов, отличными от .Net? Это даже правильный вопрос?

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

Пример данных, необходимых для запроса, будет выглядеть примерно так:

Сущность: [Имя сущности]
RequestType: [Request Type] (допустим, это команда действия)
ActionType: [Тип действия]
ActionProp1: [Свойство Action]
.
,

или

Сущность: [Имя сущности]
RequestType: [Тип запроса] (скажем, запрос отрисовывается)
RenderDimX: [X Размер визуализации]
RenderDimY: [Y измерение Render]

На самом деле я еще не спланировал синтаксис запроса, так что не критикуйте:)

Это именно то сообщение, которое я хочу отправить от клиента к серверу.

Так как мне настроить сервер C # для обработки клиентов, которые будут отправлять сообщения такого типа? Или я все об этом говорю не так?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 23 марта 2011

Почему бы не воспользоваться услугами, основанными на REST, и предоставить им все доступное?Обслуживаемый как HTML / XML / и т. Д., Любой клиент должен иметь возможность подключаться, запрашивать и использовать данные, отправленные обратно.Программирование на уровне сокетов кажется немного похожим на то, что походит на модель программного обеспечения как сервис.

0 голосов
/ 02 августа 2011

Я закончил с использованием сокетов.Стандартизированные протоколы сделали это довольно просто.

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