Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Classic Chat / [SOLVED] Pass data between applications without resorting to HDD or SDD

Author
Message
rudyardcatling
6
Years of Service
User Offline
Joined: 3rd Nov 2017
Location:
Posted: 1st Mar 2021 05:10
search results for "pass data between applications" are empty so pardon the new thread :

I wont go into the why i would want to, i just have to and need to, so

i have an application that actually is 3 separate apps, running and closing in order (for reasons only lunatics would get thats all good) - among other things to make sure nothing gets stuck, now one of them loads all kinds of stuff from a server to the client in some kind of "init" phase. What i do there is write it to disk and read it back in the next.
That all works fine, however what i WANT to do is in some way write it to a memblock and get it back in the next app (which is runapp "app" from the first one). Afaik this cant be done with standard dark basic, i mean agk classic since you dont get the pointer you just get an ID that refers to the pointer in the compiled code afterwards,

SO ... if theres any way to get the actual pointer that points to the block in memory (assuming it doesnt clear out everything with zeroes) to re-use in the next app without resorting to C++ (that would require me to get a few courses online since i dont even know if theres a section in memory that can be used for that with 100% certainty the OS wont write to it in the flip-second between apps starting)

Theres plenty of reasons for me and it would simply be cleaner (and faster although not noticeable b/c writing to and reading back takes more time than just keeping the block in memory) AND harder to intercept since a file written to disk is easier to notice - not that im averse to modding i just dont wanna end up like epic sueing little kids over cheats (ahem , scrap that)

if anyone has a pointer (ahah punny) as on how this could be (atm its linux only b/c i have to assume linux and windows handle this differently as well)

i would be much obliged ... (in the meantime i can make do with flatfiles)

(i hope im readable here - i tend to have problems speaking human sometimes)

The author of this post has marked a post as an answer.

Go to answer

PartTimeCoder
AGK Tool Maker
9
Years of Service
User Offline
Joined: 9th Mar 2015
Location: London UK
Posted: 1st Mar 2021 06:16
This post has been marked by the post author as the answer.
use the network functions, on windows an API is provided to share data between applications via user messages and a data structure I would not know about linux but as you say this would need to be coded in a plugin C++/PureBaisc but no need as agk can handle this natively with a LAN connection.

your downloader app can do its thing, compile the data into a type and .tojson() the type and send it to the runner app which has the same type and just .fromjson() the data received, and as you have a network connection between the apps means you also have 2 way communication for error checking and making sure things dont get stuck.

here's a guide to setting up a basic network : https://www.appgamekit.com/documentation/guides/8_networking.htm
Bored of the Rings
User Banned
Posted: 1st Mar 2021 16:32
There a secure and unsecure ways to do it. Memory sharing is fairly straight forward.
Professional Programmer, languages: SAS, C++, SQL, PL-SQL, DBPro, Purebasic, JavaScript, others

Login to post a reply

Server time is: 2024-03-28 11:01:30
Your offset time is: 2024-03-28 11:01:30