родное приложение для связи с сервером

Я пишу мобильное торговое приложение (android/ios), и мне нужны предложения по лучшему способу подключения приложения к серверу (messageQ)

  • Если я использую необработанное TCP-соединение, возникнут ли у моих пользователей проблемы, если они находятся за корпоративным Wi-Fi (защищенным брандмауэрами)? Если да, то является ли веб-сокет лучшим решением?

  • Что касается внутреннего сервера, после исследований с zeroMq я считаю, что полноценный брокер, такой как rabbitmq, является лучшим вариантом для начала. Теперь, если я использую соединение через веб-сокет из своего собственного приложения, у Rabbit MQ есть мост sockJS-AMQP. Но я не уверен, есть ли клиент веб-сокетов java и iOS для связи с сервером sockJS. Любые опытные взгляды приветствуются


person rajTho    schedule 11.04.2014    source источник


Ответы (1)


Вы решили использовать MQTT?

Если вам не нужен AMQP, вы также можете напрямую использовать брокера MQTT, например http://mosquitto.org/ или http://www.hivemq.com/

Здесь (https://github.com/owntracks) вы можете найти несколько готовых библиотек для iPhone и Android.

Для решения проблемы с брандмауэром MQTT доступен через HTTP.

Вы можете прочитать здесь: http://www.hivemq.com/mqtt-over-websockets-with-hivemq/ или здесь http://mqtt.org/wiki/doku.php/mqtt_over_websockets

Этот пост также может вам помочь: (https://www.ibm.com/developerworks/community/blogs/sowhatfordevs/entry/using_mqtt_protocol_advantages_over_http_in_mobile_application_development5?lang=en)

Для приложения для iPhone я использовал непосредственно MQTT, а в качестве сервера RabbitMQ с подключаемым модулем MQTT http://www.rabbitmq.com/mqtt.html

Я надеюсь, что это может быть полезно

person Gabriele Santomaggio    schedule 12.04.2014
comment
Спасибо Газ. будут ли проблемы с брандмауэром при использовании AMQP через порт 80 или 443? Я полагаю, что эти порты будут открыты брандмауэрами, но не уверен, что брандмауэры явно блокируют не HTTP-трафик через эти порты. - person rajTho; 25.04.2014
comment
На самом деле я не знаю, это зависит от брандмауэра, но обычно это не очень хорошая практика, если вы используете amqp через http, у вас не должно возникнуть никаких проблем. всего несколько вопросов .. Вам нужно сообщение AMQP? Ваша цель — получать push-уведомления в мобильное приложение? Я думаю, вам нужно разработать какое-нибудь приложение почти в реальном времени, которое обновляет торговую информацию на мобильном устройстве, верно? - person Gabriele Santomaggio; 26.04.2014