Yeah Juan I agree with you. On Sat, Jan 10, 2009 at 11:58 PM, Juan Pablo Califano < califa010.flashcod...@gmail.com> wrote:
> Anthony, I'm curious as to why you consider using a raw file any better > than > using the SQLite engine (which uses a single file as a datastore, yes, but > provides a higher level and way easier access to the data). > > The client has indeed a lot of responsibility, but isn't it the same (or > perhaps even worse) if you use bare files on a network share? The client > talks directly with the data base and in a web app, this would be a very > bad > decision. But given that this would be deployed in a LAN, as an Air app > (which natively supports connecting to a SQLite database), I'd say it's > probably not that bad, all in all. > > Cheers > Juan Pablo Califano > > 2009/1/10, Anthony Pace <anthony.p...@utoronto.ca>: > > > > This is just a bad way to do this. The client becomes responsible for > > everything, and that leads to security issues like crazy. > > > > If this is for professional use, as you have stated multiple times, I > would > > say find a better way. > > > > Write delay based on file stamping, with all the clients agreeing to work > > based on the same parameters, is the only way to make this work even > > marginally well in a production environment. > > > > If file has an id and range of time associated to it that has not lapsed, > > and my id is not the same, I cannot write. > > > > > > Omar Fouad wrote: > > > >> Yes Pablo, that is an issue that I am being thinking about today. I want > >> to > >> enable user presence detection to the client. > >> I've been thinking to let each client logged to the chat, send it's "id" > >> to > >> a table called ActiveUsers. When the user Closes the Application, the > row > >> is > >> deleted. At the same time, the application intervally queries the table > to > >> see what users are online. This is a good Idea, but there is a problem. > >> What > >> if the connection is cut, or the application is closed by an "end task" > >> command or by the system? How would I update the table and delete the > user > >> from it? > >> > >> > >> > >> On Sat, Jan 10, 2009 at 2:40 PM, Juan Pablo Califano < > >> califa010.flashcod...@gmail.com> wrote: > >> > >> > >> > >>> I think you could do take the same approach as in an "http" chat system > >>> (i.e., not a real chat solution but I've seen it used when data push > from > >>> the server was not available thru FMS, Red5 or other) > >>> > >>> You have at a minumun 2 tables: users and messages. > >>> > >>> When the user logs in, it's inserted into the users table and an id > (such > >>> as > >>> an autoincremental) is returned for using in further requests. > >>> > >>> In the messages table you have these fields: > >>> messageID > >>> senderID > >>> recipientID > >>> delivered. > >>> > >>> Have each client polling the DD.BB <http://dd.bb/> <http://dd.bb/> at > a > >>> regular (and > >>> reasonable interval) to get a list of available users (you can pass the > >>> data > >>> you need here, but the only realy necessary part is the userID). > >>> > >>> Each time a client polls the DD.BB <http://dd.bb/> <http://dd.bb/>. it > >>> also asks for > >>> pending > >>> messages (which could be a text message or whatever you need; not sure > if > >>> SQLite supports BLOB fields, but if it does you could store serialized > AS > >>> objects, I guess). > >>> > >>> A pending message is just any message that has the user's userID and > the > >>> delivered flag set to 0. If there's any matching that criteria, return > it > >>> to > >>> the user. > >>> > >>> When a client wants to send a message, it does an insert in the > messages > >>> tables, passing the recipient userID (which you can grab from the users > >>> list > >>> you already have), it's own ID and a message. > >>> > >>> You could also put a timestamp in each record (both in users and > messages > >>> tables) an every time a user logs in, delete any record whose timestamp > >>> is > >>> > >>> > >>>> = 24 hs old. > >>>> > >>>> > >>> For many scenarios, this would a problematic approach (you don't have a > >>> central server managing users interation, too much resposibility on the > >>> client, etc), but under the circumstances, I think it should work fine. > >>> > >>> Cheers > >>> Juan Pablo Califano > >>> > >>> > >>> > >>> > >>> 2009/1/10, Anthony Pace <anthony.p...@utoronto.ca>: - Ocultar texto > >>> citado > >>> - > >>> > >>> > >>> > >>>> If you have ever run into problems when writing a file on the network > >>>> > >>>> > >>> when > >>> > >>> > >>>> someone else is trying you will know what I mean, and now just imagine > >>>> > >>>> > >>> that > >>> > >>> > >>>> you have an app requesting a write multiple times per second... there > >>>> is > >>>> > >>>> > >>> no > >>> > >>> > >>>> reliance. > >>>> > >>>> Nifty solution for the short term; yet, not something that can be used > >>>> reliably. > >>>> > >>>> I might be wrong; yet, I doubt it. > >>>> > >>>> scenario 1... user1 opens the db file to put in their message; yet, > >>>> user > >>>> > >>>> > >>> 2 > >>> > >>> > >>>> opened the file for writing just a milisecond before me, but it took > >>>> your > >>>> request for a write longer to reach the file server than mine did > >>>> > >>>> this would result in user1's message being overwritten > >>>> > >>>> > >>> _______________________________________________ > >>> Flashcoders mailing list > >>> Flashcoders@chattyfig.figleaf.com > >>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > >>> > >>> > >>> > >> > >> > >> > >> > >> > > > > _______________________________________________ > > Flashcoders mailing list > > Flashcoders@chattyfig.figleaf.com > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > _______________________________________________ > Flashcoders mailing list > Flashcoders@chattyfig.figleaf.com > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > -- Omar M. Fouad - ActionScript Developer www.omar-fouad.net Cellular: (+20) 1011.88.534 Mail: m...@omar-fouad.net This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you. _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders