Unable to use UDP when using a standalone executable

4 Ansichten (letzte 30 Tage)
Josiah Renfree
Josiah Renfree am 12 Okt. 2022
Kommentiert: Eric Delgado am 4 Nov. 2022
I have a Matlab App which communicates with external software via UDP packets. The program works fine when I run the app through Matlab. However, if I convert the app to a standalone executable and run it via MCR, I get an error regarding UDP comms. I suspected it was due to a firewall, but I completely disabled the firewall on both machines and still get the error.
Any suggestions?

Akzeptierte Antwort

Eric Delgado
Eric Delgado am 12 Okt. 2022
Firewall. No doubt about it! :)
Just add your app (not Matlab, but your deployed app) in "white list" of the firewall. See image below.
  2 Kommentare
Josiah Renfree
Josiah Renfree am 4 Nov. 2022
So this indeed was a necessary step, but it wasn't entirely causing the issue I was having (I had previously tried this step to no avail).
The other issue I had is that when a standalone executable runs, the 'working directory' is not necessarily the directory where the application is installed. I believe the working directory is "C:\Windows\System32" instead of, for examples, "C:\Program Files\Matlab_app". Moreover, my application requires reading and writing to a text file, and not only was I trying to read/write from the wrong directory, but I also didn't have write privileges to "C:\Windows\System32".
In addition to adding a firewall exemption to the application as described above, my solution involved changing my Matlab application to reading/writing to a hard-coded directory in "C:\ProgramData", so that I had write privileges and wasn't relying on the 'pwd' command.
Thanks!
Eric Delgado
Eric Delgado am 4 Nov. 2022
Hummmm... don't forget to create an property that hold the path of your app... app.RootFolder, for example.
if isdeployed
[~, result] = system('path');
app.RootFolder = char(regexpi(result, 'Path=(.*?);', 'tokens', 'once'));
end
And install your app in a location that you have write pivilegies.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Manage Products finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by