I have an application that I want to send string data from an instance on one device to an instance of the same app on another device. I can't seem to get the two instances on separate devices to work. If I run multiple instances of the app on the same Windows 10 machine, the app functions perfectly. But, when running the app on two different Windows 10 machines both on the same network, it doesn't work.
I tried adjusting the Windows Firewall settings on both machines to allow TCP and UDP traffic for the app (inbound and outbound), but it still doesn't work. I tried it from an iPhone to Windows, iPhone to Android, iPhone to macOS, etc. on the same network and still nothing. It only works when the app is running multiple times on the same machine.
Anyone conquered this yet and can share how? Do I need two app tethering profiles, one for 'Master' and one for 'Remote' each with it's own Resource?
Most sample configurations have two different apps. I want one app that will send a string to all connected instances of itself that are running on another device within the same network.
Thanks in advance for any advice.
The best I reached is get connection between a Windows and Android, on both directions, but not with iOS. I didn't test with another Windows nor macOS because is not part of my objetive. What I want is communicate between Windows, Android and iOS.
I learned that Firewall configuration is critical and not always work as expected, for example McAfee simply block the communication and the configurations does not work. I did deactivate it, open the application and the reactivate it.
On my case it was absolutely imposible to connected any of the AppTethering sample applications that came with RAD Studio. I don't know if there is something missing, wrong, or a bug (I already opened a bug report but without any answer yet: quality.embarcadero.com/.../RSP-27403. In this situation I have to forget this project: really bad thing.
I hope that someone from Embarcadero would comment soon here or through this bug report if this is a bug or not and how to solve it.
have you tryed on this requirements?
You need to connect a physical Android device via USB to your development system in order to run an app on an Android device. RAD Studio supports the development of applications for Android devices running on an ARMv7 processor with NEON support.
For a list of specific Android versions we support, see Android Devices Supported for Application Development.
During product installation, RAD Studio installs the Android SDK Tools Revision 25.2.5 and the Android NDK. It includes:
Thanks for your help!
At the respect of firewalls that are on Warning section of this post I already know those details: the McAfee has the same behavior that explained about Kaspersky because it consider my executables projects as viruses, and do not have an option to filter it definitively. Each time that I change something on my project the executable is eliminated from de exclusion list and is considered as virus again. So, on those cases, the solution is to deactivate McAfee real-time scanning.
Also already learned, about the Windows Defender, that it is necessary to configured both my own McAfee firewall and also the Defender, creating on it the rules for inbound and outbound like shows the screenshot:
However, all this learning allowed me to move forward with Android connecting to / from Windows using Tethering, but not with iOS connecting to Windows which was absolutely impossible. This is finally my problem, because it is not feasible to publish an application only for Android since many people have iPhone devices.
With regard to iOS or macOS, unfortunately, I can't say with any certainty, because I don't have any of these devices. I have only, PC MSWindows and Moto G4 Android 7.0 Nougath (latest version on this device).Anyway, for macOS and iOS, if I'm not mistaken, you must use PAServer, to create the connection between RAD Studio (in MSWindows) and your target device.Remembering that the PAServer also serves to create a connection with MSWindows, mainly, before the 64bit version is widely used. So you could and can use PAServer to do DEPLOY and DEBUG on MSWindows64bits system as if you were another device using MSWindows. However, now, everyone uses MSWindows64bits more often, so many don't even remember this need.Now, for Android, macOS and iOS, the PAServer is the gateway to and out of communication with RAD Studio.Recalling also that, the IDE and DEBUG of RAD Studio using random ports to communicate with the devices when you are creating your projects and testing the execution or installations. OK?Well, with regard to Antivirus, it is very important that you provide details about your problems and the software involved so that you can find a solution. Whether here, or even at your support provider. OK?You didn't say the McAfee version for better help, so let's go to the basics.All Firewall or Antivirus software that is prescribed, does have an advanced configuration screen, unless its version is so basic that it does not allow such action.
To disable the Firewall:Open your McAfee software.Click PC Security (or Mac Security), or click the gear icon at the top-right corner.Click Firewall.Click Turn Off.
View this video to learn how to manage the McAfee Firewall on your PC or Mac:https://youtu.be/RCLCpGpZVGw
To turn Microsoft Defender Firewall on or off:Select the Start button > Settings > Update & Security > Windows Security and then Firewall & network protection. Open Windows Security settings.Select a network profile.Under Microsoft Defender Firewall, switch the setting to On. ...To turn it off, switch the setting to Off.
It is always interesting to do the following test to see if everything would work if it were not for these two software that often, more disturbs than helps us, called Antivirus and Firewall.0) Disconnect from the internet;1) Disable all Antivirus and Firewall on your PC;2) Load your IDE RAD Studio3) Create the necessary profiles to access external devices such as Android, macOS, iPhones, etc ...4) Test the connections with them, this is easy because RAD Studio does this when creating the profiles.5) If everything is ok, you know that if it doesn't work like Antivirus or Firewall, then the problem has been detected.6) If everything does not work with Antivirus or Firewall active, then disable and activate them one at a time, and go testing necessary settings.
Well, now, why is Antivirus deleting your projects that were just created by the compiler? Good question, but I have no right answer!Anyway, just place the folder where the projects will generate the executables and everything will be solved. For right!
Remember: place this folder in McAffee and MSWindows exceptions, since, when disabling one, the other will automatically enable. At least MSWinDefender.
I will say again what I have already said to many:- I never install my applications in system folders like: Programs Files or Programs Files (x86), or any other similar one!
Because, these folders will always lose an access permission, in some cases, and, of course, you always need Administrator privileges to read, write, delete, etc ... the files.So, I always do the following: (and it never goes wrong!)I create a folder as root on any disk, and I change the privileges of this folder so that any user can access it.
Then, any subfolder or file that is created inside these folders will inherit the same privileges.Usually I create this structure for programming software:C: \ EMB <--- root with all necessary privileges for any user to run themC: \ EMB \ RADStudio1033 <- my IDEC: \ EMB \ FastReport <- my componentC: \ EMB \ TeeChart <- my component
Now I save my projects to disk D, with the following:
D: \ MyProjects <--- root with all necessary privileges for any user to run them
D: \ MyProjects \ VCL_Prog_0001 <--- the name of the projectsD: \ MyProjects \ VCL_Prog_0002D: \ MyProjects \ FMX_Prog_0001... etc...
The D: \ MyProjects folder has all the privileges for any user to access. It, if necessary, will be the folder that I will place in the "exceptions" of Antivirus. Then, all projects will benefit.
In this way, I avoid many common problems accessing folders and files on my development computer.
Try one day to do it this way!
What I'm describing here isn't a firewall or anti-virus issue, it's an App Tethering issue. All of the examples from EMB have a controller application and a controlled application, which I can get working though I don't remember the combination that actually worked since I tried every combination of the devices that I have.
The issue I'm trying to get resolved is being able to have a single application running on different devices communicating with all of the other instances. A simple chat application, for instance. Run the application on two different iPhones, or an iPhone and an Android, or two Androids. If all devices are on the same network, they should be able to send messages to one another using App Tethering.
This thread has nothing to do with PAServer communications from a Windows PC to macOS/Linux. It has nothing to do with having an Android device physically connected to said PC in order to deploy the app or deploying the app to an iPhone.