|
|
|
mr.Anderson |
|
|||
iOS Lead Developer Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Всем привет. Задался следующей задачей, которую сейчас опишу, интересует ее реализуемость в принципе, а также методика реализации (куда ковырять хотя бы).
Задача: создать клиент-серверное приложение. Мультиплатформенное. Целевые устройства - мобильники на базе iOS и Андроид. Сервер, как я понимаю, может функционировать сам по себе и может быть написан на чем угодно. К примеру, я пишу сервер на C# с использованием базы MSSQL. Каждая из указанных платформ должна будет взаимодействовать с этим сервером, посылая ему запросы и, соответственно, получая ответы. Вопрос в следующем. Каждая из этих платформ поддерживает свой язык разработки (Андроид - Java, iOS - Objective-C). Так вот. Можно ли разрабатывать клиенты на каждой из этих платформ на их "родном" языке, и успешно взаимодействовать с сервером, написанном на C#? Если это возможно, то каким образом строится это взаимодействие, на каких технологиях? К примеру, если бы я писал сайт на ASP.NET, то взаимодействие с сервером я бы мог сделать, допустим, через протокол SOAP. И тупо кидать данные туда-обратно в виде XML. А то и вовсе подключить технологию WСF, там это возможно. А вот как быть в межъязыковом варианте? То есть, нужно построить два клиента, один - Java <-> C#, второй - Objective-C <-> C#. Это возможно? Если да, по какому принципу должно строиться общение? Как нужно посылать запросы серверу (через какой механизм), и в каком виде отдавать ответы, чтобы оба клиента могли их интерпретировать? В принципе-то, как я понимаю, получать запросы от сервера можно в том самом XML-виде, а потом парсить его. А вот посылать ему запросы каким образом, представляю плохо. Если же такой вариант невозможен (что печально), то каким образом можно реализовать указанную задачу (два клиента на несвязанных платформах с общим сервером)? Буду благодарен за любые подсказки, включая полезную литературу по теме. Это сообщение отредактировал(а) mr.Anderson - 28.11.2011, 11:33 |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 7 Всего: 386 |
Не вижу причины, по которой нельзя было бы на java и на c# воспользоваться XML форматом для обмена данными.
mr.Anderson, Если взять Мармелад, то можно все писать на с++. Для всех мобильников, включая iOs, андроид, симбиан и что там еще им в голову придет... Лицензия, правда, стоит денег. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 453 |
Протоколы обмена придуманы именно для того, чтобы не засорять себе голову, какая ось и какой софт установлены на той стороне.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
mr.Anderson |
|
|||
iOS Lead Developer Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Хорошо, то есть получается, что отсылку запросов на сервер и получение от него ответа я могу оформлять в виде XML, все верно? А уже собственно структуры XML, как ответа, так и запроса, я могу придумывать и формировать сам, и это не будет изобретением велосипеда. Я все правильно понял?
И если все так, то есть ли какие-то общепринятые принципы составления XML-структур для формирования запроса к серверу? Чтобы не изобретать что-то страшное вида
Это, вроде бы, и неплохо (на мой непрофессиональный взгляд))), но вот результатом будет лесенка из if-else для сопоставления имени метода и собственно конкретного метода, что не очень весело. На этот счет есть какой-то общий принцип? Добавлено через 12 минут и 25 секунд Нет, вообще-то, средствами отражения можно эту штуковину быстренько сделать нормальной, но, может, все же есть что-то менее экзотическое? Это сообщение отредактировал(а) mr.Anderson - 28.11.2011, 15:12 |
|||
|
||||
mr.Anderson |
|
|||
iOS Lead Developer Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
И тишина... Ответьте на последнее сообщение, чтобы у меня сомнений уже по реализации не оставалось)
|
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 453 |
Ничего "экзотического" не вижу.
Просто создай полную спецификацию своего протокола. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
mr.Anderson |
|
|||
iOS Lead Developer Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Akina, больше интересует именно посылка запроса на сервер. Посылка будет очень простая - вызов конкретного метода на сервере с конкретным набором параметров. В общем-то, приведенная хмлка это и описывает, больше там ничего не будет. Получение такого вида хмл и перевод имени и параметров в реальные объекты через отражение - это не экзотика?
Более конкретно:
Вот так это будет выглядеть. В коде, соответственно, будет производиться поиск метода через отражение, преобразование и подстановка параметров соответственно указанному типу, и собственно выполнение метода. Нормальный способ? Это сообщение отредактировал(а) mr.Anderson - 30.11.2011, 12:04 |
|||
|
||||
voral |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 158 Регистрация: 16.3.2008 Где: Иваново Репутация: нет Всего: нет |
Изучите работу с сокетами, с "сетевыми" классами. Вы можете пересылать хоть по одному байту. Можете на русском языке литературный текст. Вообще все что у годно и как угодно. Лишь бы на обеих сторонах смогли все это дело распарсить.
Что касается xml в принципе и вики достаточно http://ru.wikipedia.org/wiki/XML есть еще, можно сказать, модный JSON http://ru.wikipedia.org/wiki/JSON |
|||
|
||||
mr.Anderson |
|
|||
iOS Lead Developer Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Спасибо, все в целом понятно.
|
|||
|
||||
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |