Multi-standalone communication
Richard Miller
wow at together.net
Thu Dec 7 16:00:12 EST 2006
Thanks, Richard. This was along the lines I was thinking. I'll see
how the performance works for our specific situation. We have a lot
going on in the main application while this "conversation" is taking
place between the two apps, but I think it will work fine.
Richard
On Dec 7, 2006, at 3:26 PM, Richard Gaskin wrote:
> Richard Miller wrote:
>> The computer in question is not set up with networking.
>
> I'm not sure if UDP on the same machine is prevented even without
> external networking enabled. Maybe someone here can explain.
>
> But if all you need is to pass some info from one app to another,
> depending on the frequency of the exchange you may find using a
> file isn't a bad option.
>
> While it's true that accessing a file's contents is relatively
> slow, that is relative. More importantly, checking for the
> existence of a file is much faster than checking its contents, in
> many cases quite acceptably so.
>
> You could conceivably have the listening app check a folder in
> specialFolderPath("temporary") for a file of a specific and
> unlikely-to-be-used name (e.g., "MySpecialDataFile34583895"), using
> a timer set for, say, once every half-second or so, depending on
> the frequency you need (could be less, could be more; the less
> often it checks the better of course).
>
> The sending app would write to that file any time it needs to send
> info to the other app, and the other app would see that it's there
> and if it is then it reads it, deletes the file, and does whatever
> it needs with the data:
>
> on ListenForData
> put (specialFolderPath("temporary")&"/MySpecialDataFile34583895" \
> into tTempFile
> if there is a file tTempFile then
> put url ("file:"&tTempFile) into tMyData
> delete file tTempFile
> -- do something with the data here:
>
> end if
> send "ListenForData" to me in 500 millisecs -- half a second
> end ListenForData
>
>
> On a relatively slow Mac (1GHz G4) it takes about a quarter
> millisecond to get the file name using specialFolderPath and check
> its existence.
>
> If you get the file name only once and store it in a variable, the
> time to just check for its existence drops to only 0.0165 ms:
>
>
> local sTempFile
>
> on InitListening
> put (specialFolderPath("temporary")&"/MySpecialDataFile34583895" \
> into sTempFile
> ListenForData
> end InitListening
>
>
> on ListenForData
> if there is a file sTempFile then
> put url ("file:"&sTempFile) into tMyData
> delete file sTempFile
> -- do something with the data here:
>
> end if
> send "ListenForData" to me in 500 millisecs
> end ListenForData
>
>
> --
> Richard Gaskin
> Managing Editor, revJournal
> _______________________________________________________
> Rev tips, tutorials and more: http://www.revJournal.com
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
More information about the use-livecode
mailing list