Using service bus relay with Linux

Category: azure servicebus


Stephen Woolhead on Fri, 25 Jul 2014 22:21:06

Hi, I'm currently designing an telemetry / command and control system for approx. 10,000 remote embedded devices based on Linux. 

I'm looking to use Event hubs to do most of the work, that seems pretty straight forward, but the bit I'm stuck on is that one of the tasks is to set up a full duplex TCP socket connection between a client app (.Net) and the device, the device will be the listening end, and both client and device will be behind different NATs.

Now this seems the perfect task for Service Bus Relay, but I can't find anything of any depth regarding setting up the Linux end of the connection, I understand that this is no simple task, but compared to building my own relay servers it seems the easier option!

So if anyone has any info on setting up connections to service bus relay from non .Net clients I would be very grateful.




Stephen Woolhead GTL on Mon, 28 Jul 2014 15:13:53

Thanks, but they are all related to using relay bindings in WCF, I need to do this from something like C++ or python.



Manu Rekhar on Tue, 05 Aug 2014 09:25:43

Hi Stephen,

You may use AMQP Protocol to use Service bus from a non .Net client.

AMQP enables you to build cross-platform, hybrid applications using an open standard protocol. You can construct applications using components that are built using different languages and frameworks, and running on different operating systems. All these components can connect to Service Bus and seamlessly exchange structured business messages efficiently and at full fidelity.

You can use Java, C, PHP, Python languages.

Also, you may refer the following like for more details on creating Service Bus from Python with AMQP 1.0



Manu Rekhar

Stephen Woolhead on Tue, 12 Aug 2014 12:46:19

Thanks for the answer but I 'm starting to realise that I've misunderstood the capability of ServiceBus relay.  I was under the impression it was possible to use it to connect a raw Socket, i.e. full duplex unframed connection between two endpoints, when I think what I really saw was the ability to WCF's netTcpRelayBinding, which is actually message based.  With that in mind it appears there is no answer to this question as it's not possible.