2016-09-29 7 views
1

Асинхронный протокол обмена сообщениями - это простой протокол в python-twisted. У меня есть довольно полное приложение (python, twisted, kivy), использующее его. Архитектура клиент-сервер реализует вид отношений с контроллером view-controller, причем практически все серверные интерфейсы бизнес-логики и код интерфейса интерфейса пользователя просто отражают изменение состояния моделей (отправляется сервером) и отправляют соответствующие сообщения AMP.Совместимость протокола асинхронного обмена сообщениями вне Python (и скручена)

Here is a list of implementations of the AMP protocol in other languages, но некоторые из них незавершенные, и большинство из них, по-видимому, не используются ни для чего серьезного.

Используемый прецедент, который я рассматриваю, представляет собой полностью приложение Python, которое в настоящее время работает на Windows, Linux и Android (возможно, iOS, если я когда-нибудь доберусь до создания этого). И, возможно, в будущем, заменив бит View/UI на «родной» язык (например, Java/Swift на Android), сохранив бизнес-биты в python и перекрутившись.

Так у меня есть два основных вопроса: -

  1. ли точно сказать, что AMP только действительно используется в питон-скрученной и тех программ, которые используют его?

  2. Существуют ли другие, более общедоступные сетевые протоколы, которые реализованы и довольно просты в использовании, как скрученные, так и неспецифические (например, jabber действительно только для чата)? Предпочтительно, для чего не требуется такой сервер, как WAMP/autobahn (если я правильно понимаю), поэтому он может быть автономным в любом устройстве, которое может запускать python.

ответ

0
  1. Это не совсем точно. Скрученный просто использует его больше всего. Другие языки используют AMP, просто AMP не стал очень популярным, учитывая популярность других более надежных опций, таких как AMQP (ZeroMQ, RabbitMQ, WebsphereMQ и т. Д.).

  2. AMP примерно такой же простой, как он может получить. Кроме того, маловероятно, что вы найдете решение без сервера.

AMP не заблокирован для витой пары или Python. Существуют и другие реализации на других языках, но, как вы сказали, некоторые из них не используются «серьезно» и часто остаются без изменений. Не позволяйте этому отпугивать вас, потому что протокол настолько прост, что после его реализации часто не так много делать. Вы с удовольствием узнаете, что фактический протокол не сильно изменился и не очень сложно реализовать на любом языке, если вы следите за дизайном. Если вам требуется нечто более общее, кроссплатформенное и обеспечивающее совместимость, тогда рассмотрите HTTP-запросы.

+0

Спасибо. Если решения очереди сообщений в настоящее время более популярны, есть ли еще один вариант использования новых приложений для AMP, а не того, что чаще используется? И я действительно рассматривал HTTP-запрос, но, казалось бы, накладные расходы для этого были бы довольно значительными (поскольку я работаю на мобильных устройствах, это довольно важный фактор, мои сообщения AMP достигли предела 64k уже много раз, ve уже реализовал мой собственный split-and-send). –

+0

Я думаю, что AMP имеет действующие прецеденты для более новых приложений. Он маленький, четкий и портативный. Другие решения, включая AMQP, имеют больше накладных расходов. –

+0

Похоже, мне пришлось бы придумать некоторые тесты для накладных расходов. Спасибо, пусть это посидит некоторое время, но я думаю, что после этого ответ может быть принят. –

 Смежные вопросы

  • Нет связанных вопросов^_^