Ok, have been looking further into this, as the AutoDesk people might be on weekend.
I have found the use for the UDP sockets, and it's used to check if a network interface i up.
First they create a UDP Socket, and recives a filedescriptor (see number in bold below) from the kernel, and sends queries to the kernel via ioctl()
[00007ff663ec29e7] socket(AF_INET, SOCK_DGRAM, IPPROTO_IP) = 20<UDP:[35913606]> <0.000014>
[00007ff663eb9ac7] ioctl(20<UDP:[35913606]>, SIOCGIFCONF, {1024 => 5 * sizeof(struct ifreq), [{ifr_name="lo", ifr_addr={sa_family=AF_INET,
sin_port=htons(0), sin_addr=inet_addr("127.0.0.1")}}, {ifr_name="wlp6s0", ifr_addr={sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("192.168.1.11")}}, {ifr_name="vz-network1", ifr_addr={sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("169.254.220.39")}}, {ifr_name="vz-network1", ifr_addr={sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("10.0.0.1")}}, {ifr_name="vz-network1", ifr_addr={sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("10.0.1.1")}}]})
= 0 <0.000022>
[00007ff663eb9ac7] ioctl(20<UDP:[35913606]>, SIOCGIFFLAGS, {ifr_name="lo", ifr_flags=IFF_UP|IFF_LOOPBACK|IFF_RUNNING}) = 0 <0.000008>
[00007ff663eb9ac7] ioctl(20<UDP:[35913606]>, SIOCGIFFLAGS, {ifr_name="wlp6s0", ifr_flags=IFF_UP|IFF_BROADCAST|IFF_RUNNING|IFF_MULTICAST}) = 0 <0.000012>
[00007ff663eb9ac7] ioctl(20<UDP:[35913606]>, SIOCGIFHWADDR, {ifr_name="wlp6s0", ifr_hwaddr=c8:ff:28:ef:62:bd}) = 0 <0.000008>
[00007ff663eb9ac7] ioctl(20<UDP:[35913606]>, SIOCGIFFLAGS, {ifr_name="vz-network1", ifr_flags=IFF_UP|IFF_BROADCAST|IFF_RUNNING|IFF_MULTICAST}) = 0 <0.000007>
[00007ff663eb9ac7] ioctl(20<UDP:[35913606]>, SIOCGIFHWADDR, {ifr_name="vz-network1", ifr_hwaddr=12:d1:8c:66:1d:27}) = 0 <0.000009>
[00007ff663eb9ac7] ioctl(20<UDP:[35913606]>, SIOCGIFFLAGS, {ifr_name="vz-network1", ifr_flags=IFF_UP|IFF_BROADCAST|IFF_RUNNING|IFF_MULTICAST}) = 0 <0.000008>
[00007ff663eb9ac7] ioctl(20<UDP:[35913606]>, SIOCGIFHWADDR, {ifr_name="vz-network1", ifr_hwaddr=12:d1:8c:66:1d:27}) = 0 <0.000007>
[00007ff663eb9ac7] ioctl(20<UDP:[35913606]>, SIOCGIFFLAGS, {ifr_name="vz-network1", ifr_flags=IFF_UP|IFF_BROADCAST|IFF_RUNNING|IFF_MULTICAST}) = 0 <0.000007>
[00007ff663eb9ac7] ioctl(20<UDP:[35913606]>, SIOCGIFHWADDR, {ifr_name="vz-network1", ifr_hwaddr=12:d1:8c:66:1d:27}) = 0 <0.000007>
But where do you close that file descriptor again ????
Then after about 10 sec you get a new filedescriptor (in bold again):
[00007ff663ec29e7] socket(AF_INET, SOCK_DGRAM, IPPROTO_IP) = 22<UDP:[35913607]> <0.000010>
Which is still not being closed, and the cycle continues.
Why do you need to check if there is a network connection every 10 seconds, I find that kinda excessive, especially for battery powered devices, why not only check for connectivity during startup/sigin, because, you wont need the network for the next 14 days anyway (?), or when network activity is required for some function, and most people probably don't have eagle running for 14 days straight any way i guess.