Docker daemon error on joining swarm node - could not find local IP address - unknown port
Could you please try the commands above between all hosts ?

INSIDE HOST A: 

nc -zv HOST_B_IP_ADDRESS 2377,4789,7946
nc -zv HOST_C_IP_ADDRESS 2377,4789,7946


INSIDE HOST B: 

nc -zv HOST_A_IP_ADDRESS 2377,4789,7946
nc -zv HOST_C_IP_ADDRESS 2377,4789,7946


INSIDE HOST C: 

nc -zv HOST_A_IP_ADDRESS 2377,4789,7946
nc -zv HOST_B_IP_ADDRESS 2377,4789,7946


As explained in https://docs.docker.com/engine/swarm/swarm-tutorial/#open-protocols-and-ports-between-the-hosts, some ports must be available between hosts in order for Docker Swarm to work correctly.

The error reported sounds like a port related problem. 
Maybe is there another application in one of these hosts already using one of the ports needed by Docker ? Maybe a firewall configuration ?