Multiple Drone Connection in QGroundControl are not connecting at a time

hello there, so I am simulating 3 drones in gazebo and I want then to be controlled from QGC where each drone gets its own plane and they be monitored on the map.
I am doing in in sitl. I have launched the gazebo runway.launch. the drones are there, i have defined separate sdf files, parameter files and of course the separate SYSID_THISMAV for each drone:
SYSID_THISMAV 1 for drone 1
SYSID_THISMAV 2 for drone 2
SYSID_THISMAV 3 for drone 3.
and then i launched the drones in tcp connections, connected via:
sim_vehicle.py -v ArduCopter -f gazebo-drone1 --console -I0 --out=tcpin:0.0.0.0:8100
sim_vehicle.py -v ArduCopter -f gazebo-drone2 --console -I1 --out=tcpin:0.0.0.0:8200 sim_vehicle.py -v ArduCopter -f gazebo-drone3 --console -I2 --out=tcpin:0.0.0.0:8300.

i have also defined Comm links in QGC to connect all these three vehicles to QGC but only one connects after i hit the connect button and after pressing all the connect buttons, the drones appears flickering on the map and i cannot chose drone1/drone2/drone3 from the dropdown menu as shown in the below image:



i have followed this GitHub repository step by step but at the end the QGC problem pops us:

the issue is solved as i used udp connection instead of tcp and adding the sysid in terminal with the indivisual drones connection. and the rest is the same as mentioned above.

sim_vehicle.py -v ArduCopter -f gazebo-drone1 --console --map -I0 --out=udp:127.0.0.1:14550 --sysid 1

and offcourse edit the comm link of drone1…drone6 in QGC