I don't see how this is any different from three webpages visiting a page and then one client changes the page. The other two clients won't see the update until they refresh the page in their browser.

So, following that same mentality, you would want to do just that, and have your clients "refresh the page", or in this case, the window. You could expect it to be done manually, or you could do it automatically via timer. I don't see why that is overkill. Indeed, just like HTTP has E-Tags or Cache-control headers, you would use some basic checks to verify that the db was modified between retrievals so that you don't have to download the entire thing at each timer cycle. Using $crc/$md5/$sha1 would work fine, as would a timestamp on your db as suggested.

Unless your db is extremely large, I would suggest just downloading the whole thing. Dealing with delta changesets is complicated and *that* would likely be overkill.


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"