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 ------------------------------------------------------------------------------ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel