Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Generelle Frage über TCP (https://www.delphipraxis.net/102545-generelle-frage-ueber-tcp.html)

snow 30. Okt 2007 18:51


Generelle Frage über TCP
 
Hallo

Ich hab eine kleine einschränkung fürs programmieren.

Ich programmiere mit lazarus eine WinCE application. Sie soll via bluetooth eine TCP/IP verbindung aufbauen, und einige variablen versenden/empfangen. Klappt auch ganz gut nur hab ich nur eine Test-Version einer Bluetooth software(die bindet das Bluetooth ins LAN ein). Sie ist auf 5MB datendurchsatz/session begrenzt.

5MB sollte aber für einige stunden reichen(ich will nur ne Modellbahn steuern).

daher eine frage. Wenn ich mit TCP eine variable versende, ist dann das Packet dynamisch? sprich ist es kleiner als wenn ich 100Variablen versende? Oder kennt TCp nur eine Packet-größe?

MfG snow

Gargoyl 30. Okt 2007 19:55

Re: Generelle Frage über TCP
 
kuckt du hier (Wikipedia).

snow 30. Okt 2007 20:04

Re: Generelle Frage über TCP
 
Ok meine befürchtung hat sich erfüllt. Wenn TCp immer gut 1,5KBytes braucht, dann sind die 5MB schnell voll. Schade. Dann muss ich entweder einer freeware suchen, die Bluesoleil ersetz oder auf UDP umsteigen. UDP ist aber sehr warscheinlich zu unsicher, bzw verlustreich, wenn man es via bluetooth überträgt.

MfG snow

Gargoyl 30. Okt 2007 20:22

Re: Generelle Frage über TCP
 
Nicht ganz richtig gelesen. TCP Pakete können von 21 Byte bis 65535 Byte groß sein. Also von 1 Byte bis 65515 Byte Nutzdaten (+ 20 Byte Header). Da die TCP Pakete allerdings in IP Pakete verpackt werden muss du also nochmal 20 Byte für den IP Header dazurechnen. Und da IP Pakete meistens (oder immmer, zumindest früher oder später) über Ethernet verschickt werden wo eine Paketgröße von 1500 Byte fest vorgegeben ist hast du eben die 1500 Byte Paketgröße (mit 1460 Byte Nutzdaten).

Bei Bluetooth gibt es allerdings keine fest Paketgröße, sondern nur eine Maximale Größe (je nach Bluetooth-Pakettyp 2745 bit bis 8168 bit Nutzdaten). Siehe auch hier.

Alles nicht ganz so einfach. Wenn deine TCP Pakete allso in IP verpackt werden und dann über Bluetooth versendet werden gibt es also keine Beschränkungen was die minimale Paketgröße angeht. Das gibt nur wenn irgendwo was über Ethernet verschickt wird.

snow 30. Okt 2007 20:43

Re: Generelle Frage über TCP
 
Bei mir schaut das folgendermaßen aus.

Bluetooth soll nach Version 1 arbeiten(alter PDA). Der PC bzw BlueSoleil baut ein PAN auf. Der PDA verbindet sich mit dem PAN. BlueSoleil hat außerdem einen Network Access Point laufen. Dadrüber kann der PDA ins LAN. PAN unterstütz IP. Somit sollte die Minimale Packetgröße bei Null liegen. Die daten werden aber ins Ethernet gestreamt, wodurch ich wieder eine Packetgröße von min 1500-1522Byte habe.

Wie auch immer solang BlueSoleil nur den Bluetooth- Traffic berechnet sollte es mit TCP klappen, und wenn nicht dann muss ich mich mal nach einer Alternative zu BlueSoleil umschauen. Ich hab auch gehört, das es Bluetooth-Router gibt, vllt ist das dann die Lösung. Eine andere Alternative wäre es sich einen PDA mit WLAN zu ersteigern(den PDa den ich derzeit verwende gehört mir nicht, also sollte ich generell über die anschaffung eines eigenen PDA's mal nachdenken)...


MfG snow

Deep-Sea 31. Okt 2007 14:31

Re: Generelle Frage über TCP
 
Mal so am Rande:
Ethernet-Frames sollten zwar - abhängig von Geschwindigkeit und Leitungslänge - eine Mindestgröße haben, aber in der Praxis sieht das anders aus ^^ Die Mindestlänge ist da, damit mit dem genutzten Zugriffsverfahren CSMA/CD eine Kollision erkannt werden kann. Bei den heutigen Netzwerken, bei denen Switches mit Vollduplex genutzt werden, an dessen Ports jeweils nur ein Endgerät hängt, kann keine Kollision mehr auftreten. Somit ist CSMA/CD und auch die Mindestlänge in aktuellen Ethernet-Netzwerken nicht mehr von Bedeutung ... :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz