server push to desktop client
phil at pdslabs.net
Tue Nov 5 11:51:15 EST 2019
Thanks for sharing your insight Richard. Great food for thought.
On 11/5/19 12:29 AM, Richard Gaskin via use-livecode wrote:
> Phil Davis wrote:
> > I need to make a desktop app (Mac only for now) that receives pushed
> > data from a LC server. I've never done this - all the desktop <->
> > server interactions I've programmed have used the traditional client-
> > server model. So I'm looking for approaches/tips/ideas from anyone
> > who has experience with other approaches.
> I'd stick with simple polling for this. Anything else requires either
> opening a socket (with all the firewall/router changes needed to allow
> that), or creating a dependency on a separate process like push
> notifications, which would likely require LCB.
> Polling can get the job done well enough, and is secure and requires
> no router changes or external dependencies. And if down the road you
> find a convenient way to switch to something else you can change that
> part, but at least it lets you get it out the door now using reliable
> features and your existing skillset.
> > And maybe I'm making it too hard. Can FTP watch a server folder, and
> > detect and respond to the creation of a file in the folder? Maybe I
> > could use a method like that, if that's a capability of FTP.
> You could poll from the client using FTP, but compared to HTTP it's a
> noisy protocol, with many more steps internally. The inefficiency of
> FTP is more than offset by its utility when ad hoc access to remote
> file stores are needed. But when the goal is more specific, HTTP will
> often beat it for both efficiency and client implementation cost every
> On the server, an LC Server script that reports any changes to a
> folder from the last time it was called would be straightforward to
> write, give you reliably consistent results*, and would run quickly.
> * Years ago when I was monitoring folders with FTP I learned more than
> I cared to about FTP date representations. They vary. A lot. By
> different rules, according to a vastly flexible set of config options.
> So you can never know which server will use month-and-day only up to a
> certain cutoff, and then one of several month-day-year options for
> anything older. Sometimes the cuttoff is a month. Sometimes it's the
> year break. Other times it's a specific number of days. "Hey man,
> it's all about flexibility!" In all cases it can mean a listing in
> which date representations take on at least two different formats.
> Even if you just had LC Server return "the detailed files" at least
> you'd have solid consistency in the format of every file, every time.
More information about the use-livecode