Hi all,

Since nobody called for changes in the API, it was merged in GIT after
extensive testing using the awesome http://autobahn.ws/testsuite
pointed by Raoul.

Note that to test you need CURL from GIT (7.50.2-DEV) as they
committed a fix to their handling of unknown 101 (Switch Protocols).
While in real-life this is hardly hitting the user, during autobahn
test many cases start with a very small frame (2-4 bytes) and CURL
wouldn't process then unless they were 5 bytes long. After the first
frame is longer than 5 bytes everything works with the old CURL (ie:
you can talk to ws://echo.websocket.org)

It was also very nice way to test the Efl_Net_Dialer_Http with more
data patterns, some fixes got in.






On Tue, Aug 30, 2016 at 1:04 AM, Gustavo Sverzut Barbieri
<barbi...@gmail.com> wrote:
> Hi all,
>
> I'm taking over the work started at
> https://phab.enlightenment.org/D2985, please take a look at my last
> comment https://phab.enlightenment.org/D2985#71145 for more details.
>
> The branch is 
> https://git.enlightenment.org/core/efl.git/log/?h=devs/barbieri/websocket
> there you can see two examples of the API usage.
>
> If you're not familiar with WebSocket, it's a bi-directional
> message-based (NOT streaming!) protocol on top of HTTP, starts with a
> GET request and requests a connection upgrade, then can use proxies,
> TLS/SSL and authentication. It's used to avoid polling web-servers
> with new HTTP requests for data, such as Stock Tickers, WebEditors and
> so on. Compared to an older solution SSE (Server-Side Events), it
> offers more efficient message framing and bi-directional
> communication.
>
> My branch builds on top of Efl.Net.Dialer.Http (our new HTTP client
> based on CURL) and exposes a new API for the message-based primitives
> of WebSockets. However, to play nice with other Efl.Io.Reader and
> Efl.Io.Writer users, such as Efl.Io.Copier, you can ask
> Efl.Net.Dialer.Websocket to operate in streaming mode, picking one of
> Text or Binary messages as your channel. Then the traditional
> "can_read"/"read()", "can_write"/"write()" will work.
>
> Play with them and let me know what you think. In the phab comment you
> can see how to create a nodejs websocket server to make your testing
> simpler.
>
> What do you think about this API?
>
> --
> Gustavo Sverzut Barbieri
> --------------------------------------
> Mobile: +55 (16) 99354-9890



-- 
Gustavo Sverzut Barbieri
--------------------------------------
Mobile: +55 (16) 99354-9890

------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to