Nachtvlinder schreef :
Kan iemand uitleggen hoe vanuit een app nu een TCP/IP connectie naar een NMEA server op een bepaald IP adres:poort in dat netwerk opgezet wordt?
Voor een TCP-verbinding maakt de ontvangende partij een verbinding met IP:Port van de partij die data aanbiedt. Veelal zal een PC of telefoon of tablet als ontvanger dat initiatief nemen.
Er vindt dan actief een 'connect' plaats tussen de 2 apparaten, met elk hun eigen IP-adres en (dezelfde) poort.
Daar kan geen enkel ander apparaat (software) dan nog tussen komen. Het is 1 op 1.
Veel apparaten kunnen maar een beperkt aantal TCP-sessies hebben, soms maar 1 (Minplex3, Vesper).
Er is actieve controle of de data aankomen; de ontvanger zal nooit iets missen. Als hij een packet mist meldt hij dat en wordt dat opnieuw verzonden door de data-aanbieder.
UDP is meestal broadcast. Het zendende apparaat (een IP:Port combinatie) slingert zijn data de wereld in en elk apparaat dat naar die combinatie van IP en Port luistert krijgt de data binnen.
Er is geen beperking op het aantal luisteraars.
Data kunnen verloren gaan; als de ontvanger even niet oplet (iets anders doet) dan mist hij een bericht.
Igv Nmea niet erg, er komt er wel weer een.
Er is ook UDP Directed. Dan stuurt de zender zijn data naar een specifieke ontvanger (IP:port).
Misschien is dat de oorzaak van een aantal in dit topic genoemde problemen?
De data tussen zender en ontvanger (zowel TCP als UDP) moeten over een (ether)netwerk (meestal wifi).
Dat betekent dat er in de buurt een wifirouter moet zijn die dat netwerk in de lucht houdt.
Die router doet meestal ook de DHCP: het uitdelen van IP-adressen aan apparaten die verbinding willen maken.
Daar kan wel een beperking aan de hand zijn: sommige routers kunnen maar een beperkt aantal adressen uitgeven (Miniplex 4 adressen, geloof ik). Dan kunnen er niet meer apparaten meedoen in het netwerk.
Een TCP-verbinding kan na gebruik 'blijven hangen'. Als de gebruiker (ontvanger) de verbinding niet netjes helemaal afsluit (ophangt, in telefoontermen) dan blijft de (enig mogelijke) TCP-verbinding in de zender actief en kan er geen (andere) worden opgebouwd.
Iets dergelijks zou ook bij UDP Directed kunnen optreden.
Hoe weet ik dat allemaal? Ik had het nodig voor SPD
Dat kan NMEA ontvangen over COM/USB, UDP en, speciaal voor de Vesper van Nachtvlinder, ook over TCP