Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I have a Windows application that can read the contents of files. It can write/append to files too.
Now, this is Linux and "everything is a file."
Is there a way I can exchange information from the Linux host machine with that Windows application without using files at all?
I can do that already with files. But it's kind of slow and I don't do it often. I would like to be able to do it very often, like multiple times per second, and completely avoiding disk writes. Is that possible? How? Telling the Windows application to read/write to a socket, or what? Would writing to RAM be a better idea? Are there pitfalls? Race conditions? Please advise.
what do you really want to achieve? linux can read ntfs very well. You can execute windows apps on linux. But you cannot use an already existing windows app (running on windows) to exchange any kind of information with a linux host. Or what do you mean by that?
Multiple times per second and slow are relative terms.
Without knowing anything about the application it is difficult to provide help. A tmpfs would be the easiest but depends on how much data you are writing? I would expect that wine would slow things down because it is adding an extra layer.
Personally, I feel we should all go quiet until the @lucmove tells us exactly what he's trying to do.
That's blackmail and it's rude. You don't have to reply but encouraging other people to deny me help based on your morbid curiosity is just mean and tyrannical. In 22 years of forum activity, I'd never seen someone do this before.
That's blackmail and it's rude. You don't have to reply but encouraging other people to deny me help based on your morbid curiosity is just mean and tyrannical. In 22 years of forum activity, I'd never seen someone do this before.
It's neither blackmail or rude. You get your problems solved by providing helpful feedback, not criticism. We hadn't heard from you since post #1, which is poor form. Have you been reading your own thread? Now that we have your attention. please address the suggestions in posts #2 - #6 and clarify what you're trying to achieve.
Oh, leaving out the word[s network] socket
(to not prejudice the search),
looks like a good idea also!!!
P. S. I didn't know what DDE was (IDK GUI, only CLI), so I tried this web-search (and found that it didn't necessarily mean:
the Deepin Desktop Env.):
Microsoft Windows DDE for "debian"
That's blackmail and it's rude. You don't have to reply but encouraging other people to deny me help based on your morbid curiosity is just mean and tyrannical.
For it to count as blackmail, there would need to be a genuine intimidation/threat, made privately, rather than merely a public suggestion that people hold back until you provide more details/clarification on what you want.
Also, since BK has no power to actually change whether people respond or not, it's not tyrannical either. (You could have possibly made that argument if a mod/admin were to say it, but BK is just another member.)
And it isn't really mean since the intent is to get you to make it easier for people to help.
It is a bit rude, but mainly badly worded/executed (there are better ways to ask someone to respond), but it's also a bit rude of you to ignore Pan's first question in post #2.
Anyhow...
It might be that the already suggested tmpfs is the right approach - at the very least you should look into that, and if it doesn't give you what you want come back with more details and/or a reformulated question.
(It also might be that tmpfs appears to be the right answer but there's a better solution, but you need to say what you're trying to do for anyone to be able to point at that better solution.)
I am back. I ran a few tests and the best option for now seems to be tmpfs. It works pretty well. Maybe it could be a teensy little bit faster, but it's good enough. The only problem is that I need two separate files, one for each direction, and I may have to design my own protocol to verify proper delivery and queue management.
I was hoping I would be able to bypass verification with a socket, but named sockets don't work. The Windows application likes a plain text file, but it freezes when trying to read or write to the named pipe. It's not just a matter of pipe locking. Even if I try to communicate on the other end and unlock it, the application remains frozen and I have to kill it eventually. Only plain files work.
Thank you for all the suggestions, even when suggesting I might be involved with weird porn.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.