engine.io icon indicating copy to clipboard operation
engine.io copied to clipboard

dynamic transports

Open mrfelfel opened this issue 5 years ago • 5 comments

Transports must be dynamic to provide transports independently. In my opinion, by making dynamic transports, it is possible to add custom transports such as tcp, mqtt gprc, etc.

But this issue is not implemented in engine.io (or there is no suitable document for it)

Solution I think providing transport independently, such as engineio-websocket-transport, could be better than the current situation and make it possible to implement different transports.

mrfelfel avatar Jan 21 '21 09:01 mrfelfel

Related to #366

mrfelfel avatar Jan 21 '21 16:01 mrfelfel

engine.io based on the HTTP request, but for Support TCP or other protocols as Transport The concept of receiving queries in Engine.io should be developed

in Anatomy of an Engine.IO session Transport establishes a connection to the Engine.IO with a URL

The connection should be established without a URL as optional

mrfelfel avatar Jan 21 '21 22:01 mrfelfel

The transports array is exported here: https://github.com/socketio/engine.io/blob/e5b307c16d8e7594fcec4eb23508f23f78546dc6/lib/engine.io.js#L70 (added in https://github.com/socketio/engine.io/commit/49f9adc2086808a0639b1648bc6198adf6b810c7)

So it should be possible to provide additional transports. There is currently no documentation for this though, as you have noted.

darrachequesne avatar Jan 22 '21 09:01 darrachequesne

the transports array is a good idea, of course, each transport should be an independent module (like socket.io Redis adapter) and another point for providing additional transports(like TCP), URL is a bottleneck

mrfelfel avatar Jan 22 '21 12:01 mrfelfel