Are the Digi modules able to establish a web socket connection?

Hello, There are some Digi modules , they can able to establish a web socket connection , for example RCM6700,RCM6600,RCM4300…etc.

Hi, Could you point me me in the direction of the documentation for this?

Hello

Which modules? And which variant. I can state that for the -C variant (running NET+OS) the answer is that there is NO API allowing the module to act as a web CLIENT. You'd have to write your own from scratch.

Hello, Here you go…
http://www.digi.com/support/productdetail?pid=4885&type=documentation

http://www.digi.com/support/productdetail?pid=4361&type=documentation

T

Hi,

Not sure which document out of the many info maybe in, I looked in the TCP/IP volumes 1,2,3, however I could not find any information about setting up WebSockets (i.e. as described here: http://en.wikipedia.org/wiki/WebSocket and http://www.websocket.org/)

We currently use the 9215 module, and web sockets would provide a nice way to increase the performance of our web control ‘App’ and reduce the amount of network traffic, removing the need for constant Ajax polls for data changes etc… Google chrome experiments ‘roll it’ and ‘racer’ demonstrate the technology in action, we would be using it for a more serious application, but it does give you an idea for the tech… other demos can be found on http://www.websocket.org/demos.html.

The client side is already done on the major browsers, it is the server side implementation I am trying to figure out.

Regards,
Dave

Hello David
You mentioned 9215 module, is it running with the NET+OS environment (-C) or the “plug-and-play” environment (-S)?

If I understand your question (I may or may not) a web socket is nothing more than a tcp/ip socket on port 80 (443 for an SSL secure one). That is the easy part. If you then needed to write your own web client or web server, that is where the work is.

Hi,

We use NET+OS 7v4 & 7v5.
Yes the WebSocket protocol communicates on port 80 & port 443, but is different to HTTP/HTTPS, it is described in an RFC: http://tools.ietf.org/html/rfc6455.

The main challenge as I see it is being able to set the outgoing headers (assuming that AWS will pass the ws://xxx.xxxx.xxx URL to the cgi function), but perhaps this me being naive!

Perhaps I would need to use the Ethernet bypass API and inspect the headers from the web clients to determine if I need to process it in a WebSocket server function or pass on to the AWS…

I still need to have the AWS HTTP server to serve up the web content, but in addition I want to be able to start a WebSocket connection, so the 9215 can push data to the web client in raw binary form - removing the need for constant polling using Ajax and also reducing the number of bytes on the wire due to sending in binary form and not ASCII.

I guess it is not implemented on the RCM modules already?

Regards,
Dave

Hello David
NET+OS has NO APIs for manipulating outgoing HTTP headers.
In NET+OS any URL requests that enter the system whose URL was NOT defined by pbuilder, will be passed to your RpExternalCGI function.

I was afraid that might be the case, I guess the Ethernet bypass API will have to be the way forward…

Sirs,

Thank you very much for discussing over my original post.

Anyway, what I’ve understood until now (correct me if I’m wrong), is that a function similar to a “Web-socket” is available under the Etherious “Device cloud” infrastructure. Of course I’d like a “free” (as in freedom) web-socket connection with a DC-ME4-01T-S plug and play firmware module and it seems that such function is available with Rabbit modules only.

What’s your thinking about this?

Kind regards.

Antonio Di Meo