Yazz schreef :
In theorie heb je gelijk echter tot nu toe werkt het bij mij alleen als ik eerst het IP adres heb opgegeven.
Hieronder lijkt de verklaring te vinden hiervoor:
"With multicast, however, it is necessary to advise the kernel which multicast groups we are interested in. That is, we have to ask the kernel to "join" those multicast groups. Depending on the underlying hardware, multicast datagrams are filtered by the hardware or by the IP layer (and, in some cases, by both). Only those with a destination group previously registered via a join are accepted."
Zie §2.4 in de
beschrijving multicast
Het gaat hier om een broadcast, niet om een multicast.
Unicast: het verzenden van een pakket naar één host. De normale gang van zaken.
Broadcast: het verzenden van een pakket naar alle hosts op een gegeven netwerk.
Multicast: het verzenden van een pakket naar alle bestemmingen die daar interesse voor getoond hebben.
Anycast: het verzenden van een pakket naar de dichtstbijzijnde host van een bepaalde klasse.
nl.wikipedia.org/wiki/Broadcast_%28netwerk%29
Broadcast gaat naar alle andere hosts, maar alleen binnen het eigen lokale netwerk. Multicast kan wel gebruikt worden buiten het lokale netwerk, dus ook over internet, maar vereist speciale netwerkinstellingen.
NMEA over UDP kan op twee manieren:
- Op de bron instellen naar welke doelen het gestuurd moet worden
- Op de bron broadcasten naar het hele netwerk
(dit is in feite hetzelfde als 255.255.255.255 instellen als doel)
Het instellen van een IP-adres op de iPad zou een soort filter kunnen zijn, zodat je alleen berichten van die bron accepteert, maar het zou handig zijn als dat filter uit staat als je niks invult.
Bij TCP moet er vooraf een verbinding tussen client en server opgebouwd worden, dat is daarom altijd unicast.