Troubleshooting Connectivity

jpbrocca edited this page Aug 9, 2018 · 3 revisions

Useful information

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.

Server About Page

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:

image

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.

Configuration

The ports Gorilla uses to communicate can be configured using the config.json file. Please check this article for more information.

Basic Connectivity Checks

Server is Running

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.

Players reaches the Server

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.

Windows

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  

Common problems

Android: Can't connect when using Gorilla SDK

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:

  1. Select YourProject.Droid Project > Options > Android Application > Required Permissions
  2. Check: Internet > Ok
  3. Redeploy your App

Auto-discovery is not working on my physical device

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.

Windows 10: Gorilla player does not connect to server even if connections allowed in the firewall

Solution: Windows 10 has a feature to block connections even if allowed in the firewall. See the screenshot below to fix it.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.