Hello Angus,

Sure I was not asking for any development ;-)

Right  now  I handle it thru WebSocket, and manage enough of websocket
protocol for the need I have to communicate with an internal server I
have to deal with.

THTTPCli  descendant  should  be OK.

For what I learned until now it would need to :

- Manage HTTP header dedicated to websocket negociation like :

Connection: Upgrade
Upgrade: Websocket
Sec-WebSocket-Version: xx (different Websocket versions)

- Manage Sec-WebSocket-Key mono and double keys handshake with the
BASE64 SHA-1 GUID salt

-  Handle the 2 or 4 bytes binary structured packet that is present in
front  of  each websocket frame (websocket is frame based not streamed
data  flow)  and  contain  among  other  informations  the size of the
upcoming frame, but one thing to take care is that this packet can be
2 or 4 bytes depending the size of the data in the frame.

- There  is  also  a  special  "ping"  keep-alive feature (server and/or
client mode) that can be done thru the packet header.

Neverless the day you want a beta tester I may help.

regards.


>> For people who want to understand how WebSocket protocol works I found
>> a this very interesting and crystal clear article :
>> 
>> http://lucumr.pocoo.org/2012/9/24/websockets-101/

ARMSL> Thanks, I've got various reading about websockets, but no time to think 
about them,
ARMSL> although it is on the long term ICS wish list I published a while ago.

ARMSL> I'm sure you can borrow some of the server side implementation for the 
client,
ARMSL> creating keys and frames will be very similar in client and server.  

ARMSL> My inclination would be client websockets should be a separate ICS 
component, a
ARMSL> descendent of THttpCli, overriding the necessary events, with only minor 
changes in
ARMSL> THttpCli, which is a stable component.  

ARMSL> We also need a test websockets web site, a quick Google suggests some 
echo test
ARMSL> sites (like http://www.websocket.org), but ideally there should be some 
pages on my
ARMSL> public IIS/8.5 server which seems to support websockets (at least it was 
an install
ARMSL> option). 

ARMSL> My priority this month is the ACME protocol to automate acquiring and 
installing SSL
ARMSL> certificates, which has got delayed due to other work. 

ARMSL> Angus



                      mailto:[email protected]

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to