LabVIEWForum.de - Pakete senden

LabVIEWForum.de

Normale Version: Pakete senden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Weiß jemand wie groß die Pakete sein dürfen die man über TCP/IP an LV sendet?
Ich bekomme einen String, dieser enthält sozusagen verschiedene Werte, also je nach Header in diesem Sting (Header Muster Abschluss Header Muster Abschluss...) muss ich das was ich bekomm, in einem anderen Textfeld ausgeben.
Ich denke mal das es so recht einfach geht, die ersten 4 Zeichen auszulesen, zu schauen welcher Header und dann ins entsprechende Feld umzuleiten, anschließend ab dem 5. Zeichen zu schreiben und dann irgendwie zu schauen wann eine gewisse Zeichenfolge auftaucht, die den Abschluss bedeutet. Nach diesem kommt dann der nächste Header usw. Sind dann zusammen vier einzelne Teile.
[quote=Sarah]Weiß jemand wie groß die Pakete sein dürfen die man über TCP/IP an LV sendet?

Meines Wissens (aus der C++-Programmierung) kannst du beliebig grosse Daten versenden. Das Protokol fragmentiert deine Daten dann ggf. und setzt diese auf der Empfängerseite auch wieder richtig zusammen. (TCP jedenfalls, IP & UDP glaube ich nicht bzw. nur eingeschränkt). Die maximale Paketgrösse bei IP liegt bei 64k.
Achso, im Moment hab ich die HW noch nicht, das ich einen zweiten PC verbinden kann, kann ich es so irgendwie testen, ob es klappt, hab da gesehen das man da irgendwie was mit einem Server machen muss, kann das sein?!
[quote=Sarah]Achso, im Moment hab ich die HW noch nicht, das ich einen zweiten PC verbinden kann, kann ich es so irgendwie testen, ob es klappt, hab da gesehen das man da irgendwie was mit einem Server machen muss, kann das sein?!

Wie meinst du das? In den üblichen Client-Server-Architekturen hast du einen (oder mehrere) Server und eine Vielzahl von Clients. Das muss aber nicht sein. Du kannst selbst programmieren, ob ein Rechner nur senden darf, nur empfangen oder beides. Dabei müssen alle beteiligten Programme die Portnummer kennen (eine vereinbaren) und die Clients zusätzlich die IP-Adresse des Servers.
Also, PC1 soll was von PC2 empfangen, dazu muss ich PC1 und PC2 verbinden, um auch zu sehen, ob mein Programm funktioniert. Nun muss ich ja so schon anfangen das zu machen, bevor ich die HW bekomm, und sollte auch wissen ob es klappt. Meine Frage ist nun, ob ich das auch so ohne PC2 testen kann.
Hab nur gesehen LV hat da so eine vi mit Server und Client, vielleicht kann man so etwas simulieren.

... verdammte Kopfschmerzen *argh* :shock:
Ja, du kannst es simulieren auf einem PC. Dann lässt du beide Programm auf einem Rechner parallel laufen und gibst als IP im Clientprogramm den Localhost (127.0.0.1) an.

Gute Besserung!
Also Simple Data Server und Simple Date Client laufen lassen. Hmmmm... das gibt eh wieder so was.... :?
Mal schauen.


Danke...
OK, des mit dem Server und dem Client habe ich nun erst mal so umgebaut, das ich einen text hinschicken kann. Nur er kommt recht schnell mit Speicher ist voll, Fehler 2

Es kommt auch noch ein weiterer Fehler, Fehler 63, Empfangsbufferüberlauf am seriellen Anschluss



EDIT:
Hab nun bei TCP lesen den Modus auf unmittelbar und wenn ich meine Bytes zu lesen manuell so einstell das mein Muster paßt was rein kommt. Aber wie soll ich dort nun angeben wie groß es ist? Die Konstante "+unendlich" mag es nicht :roll:
Ich weiß eben nie wie groß die Pakete sind, und die können schon ziemlich groß sein!

hab da was vieleicht kannst du mit dem was anfagen
Hallo Michael,

danke, sieht gut aus, und durch die TTL kann ich es vielleicht etwas umbauen, weil die brauch ich auch späterWink
Referenz-URLs