-
Notifications
You must be signed in to change notification settings - Fork 17
Troubleshooting Connectivity
Gorilla player consists on four main components:
- Desktop application. Is a very thin application, that acts as a host for the Server component. You can interact with it through a tray icon in your Windows or Mac.
- Server component. This server component is where the heart of Gorilla resides. The IDE addins will communicate with it to command which XAML files should be previewed. Also the server will command the Players to render your XAML as needed.
- Players. One or more players deployed across your Android/iOS devices or simulators.
- IDE Addins. VS or XS addins whose main role is to command what should be previewed.
Usually connectivity issues occurs between the server component and the players. The communication between desktop application and the players is using HTTP and WebSockets. Additionally, the server auto-discovery feature relies on UDP. By default Gorilla is configured to listen at port 9014 on your desktop machine and also uses UDP port 14578 for auto discovery.
The server component provides an about page that shows some useful information about the server. You can see it by visiting http://localhost:9014 in your favorite browser from your desktop machine. You should see a page as the following:
which contains information like: server version, server name, the ports where the server is listening and the network interfaces it is listening at.
Additionally, if you click in the Connected Devices you will see the list of the players currently connected to this instance of Gorilla.
The ports Gorilla uses to communicate can be configured using the config.json
file. Please check this article for more information.
First of all make sure the server is running by visiting the About Page at http://localhost:9014
from your desktop browser. If you can't see the page probably it means Gorilla server component is not running or it is not using the default port (9014
).
Things you can try:
- Restart the host application.
- Windows, right click the system tray icon and click Quit. Launch Gorilla again.
- Mac, click the Gorilla Icon in the menu bar and select Quit. Launch Gorilla again.
- Verify ports configuration in the
config.json
.
One simple way to verify you can reach the server from your device is by visiting the About Page from the device. In order to do that you need to use the IP address of the server instead of localhost
. You can get the IP address your system configuration or in the About Page visited in the previous step. Once you have it go to http://:9014 in the device browser.
The Windows Firewall might not be allowing inbound requests done from your devices. In order to allow them open a command line (using Run as Administrator) and then enter the following commands:
netsh advfirewall firewall add rule name="Gorilla Player" dir=in action=allow protocol=TCP localport=9014
netsh advfirewall firewall add rule name="Gorilla Player" dir=out action=allow protocol=TCP localport=9014
netsh advfirewall firewall add rule name="Gorilla Auto-discovery" dir=in action=allow protocol=UDP localport=14578
netsh advfirewall firewall add rule name="Gorilla Auto-discovery" dir=out action=allow protocol=UDP localport=14578
Symptoms: You are working with Gorilla SDK and you can't connect to the server from your Android devices. However, the Gorilla Player downloaded from the Google Play or manually deployed connects without a problem.
Solution: Gorilla on Android requires the INTERNET permission to be set.
Steps:
- Select YourProject.Droid Project > Options > Android Application > Required Permissions
- Check: Internet > Ok
- Redeploy your App
Symptoms: Your Gorilla server is working fine but when you deploy Gorilla Player to your physical devices or you download it from the store, auto-discovery is not working.
Solution: Make sure that the server and the device are both connected to the same wireless router. Auto-discovery is based on UDP and UDP packages usually does not travel outside router network.
Solution: Windows 10 has a feature to block connections even if allowed in the firewall. See the screenshot below to fix it.