Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MQTT over TCP as an optional transport #462

Open
1 of 2 tasks
truongsinh opened this issue Dec 14, 2016 · 5 comments
Open
1 of 2 tasks

MQTT over TCP as an optional transport #462

truongsinh opened this issue Dec 14, 2016 · 5 comments
Labels
enhancement New feature or request

Comments

@truongsinh
Copy link

You want to:

  • report a bug
  • request a feature

Status quo

"Transport" only supports ['polling', 'websocket']

Expected implementation

"Transport" supports ['polling', 'websocket', 'mqtt']

Rationale

When developing mobile apps (aka non-web), MQTT over TCP performs much better than HTTP (polling, websocket, or MQTT over websocket), however, like the adoption of websocket, MQTT over TCP might be stopped by firewall. In an ideal scenario, app developers should not care about the transportation, but focus on the logic. Transportation layer should gracefully chooses the best method, given the conditions. Ref https://www.quora.com/Is-MQTT-better-than-HTTP-for-mobile-app-iOS-Android-etc-client-server-communication

Other information:

  • If this issue is approved, I can research how to optionally use https://github.com/mqttjs/MQTT.js as one of the transport method, e.g ['polling', 'websocket', require('mqtt-engine')]
@truongsinh
Copy link
Author

Related to #366

@darrachequesne
Copy link
Member

Hi @truongsinh, sorry for the delay! That indeed looks promising, I'll be happy to merge your pull request for that feature.

I'm afraid you'll have to dig a bit into engine.io internals though 💪

@hearsh
Copy link

hearsh commented Aug 20, 2018

hey any update on this?

@darrachequesne
Copy link
Member

@hearsh I'm afraid no work has been done on our side yet, I don't know if @truongsinh has had some time to dedicate to it.

@darrachequesne darrachequesne added the enhancement New feature or request label Oct 5, 2020
@mrfelfel
Copy link

add MQTT transport over TCP is not possible (this version of engine.io depends on HTTP(request, URL))

but look at my idea :
1 - serve MQTT broker (Mosca, etc) with node js or any server
2 - implement MQTT transport in engine.io as an independent module
3 - in MQTT transport req data will be emulated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants