Unable to use UDP when using a standalone executable

2 vues (au cours des 30 derniers jours)
Josiah Renfree
Josiah Renfree le 12 Oct 2022
Commenté : Eric Delgado le 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?

Réponse acceptée

Eric Delgado
Eric Delgado le 12 Oct 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 commentaires
Josiah Renfree
Josiah Renfree le 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 le 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Manage Products dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by