ulisp-esp icon indicating copy to clipboard operation
ulisp-esp copied to clipboard

websockets?

Open dragoncoder047 opened this issue 1 year ago • 4 comments

I found an Arduino websockets library that works with the existing wifi library: https://github.com/gilmaimon/ArduinoWebsockets

It seems simple enough to implement similar websocket functions as the existing wifi functions in uLisp, as the interface is so similar.

As an implementation note, it does look like server.available() doesn't get you a client, it instead returns if the websocket server is running. server.accept() actually gets the client, but will block if there is no client, server.poll() returns true if there is a waiting client.

As for the client end, because the design of websockets is to push data without being requested, not respond to a request as regular HTTP is, actually getting data from the websocket using the callback will probably involve some sort of queue to pipe the data from the client callback to the gfun_t of the websocket-stream.

dragoncoder047 avatar Apr 07 '23 15:04 dragoncoder047