Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Stream über ICS TWSocketServer empfangen? (https://www.delphipraxis.net/188657-stream-ueber-ics-twsocketserver-empfangen.html)

Kostas 25. Mär 2016 12:55

Stream über ICS TWSocketServer empfangen?
 
Hallo Zusammen,

ich würde gerne mittels ICS TWSocketServer ein TCP Paket empfangen mit beliebiger länge.
Die genau Länge ist vorher nicht bekannt. Es kommt jedoch genau ein Paket an.
Wie müsste der ClientDataAvailable Event umgesetzt sein? Es gibt ein schönes Beispiel auf der Webseite
http://www.overbyte.be/frame_index.html Sendfile.zip doch da wird vorher die Paketlänge gesendet.
In meinem Fall ist die Länge dynamisch und ich bin nicht der Sender.

Gruß Kostas

mjustin 25. Mär 2016 14:37

AW: Stream über ICS TWSocketServer empfangen?
 
Zitat:

Zitat von Kostas (Beitrag 1333811)
Hallo Zusammen,

ich würde gerne mittels ICS TWSocketServer ein TCP Paket empfangen mit beliebiger länge.
Die genau Länge ist vorher nicht bekannt. Es kommt jedoch genau ein Paket an.
Wie müsste der ClientDataAvailable Event umgesetzt sein? Es gibt ein schönes Beispiel auf der Webseite
http://www.overbyte.be/frame_index.html Sendfile.zip doch da wird vorher die Paketlänge gesendet.
In meinem Fall ist die Länge dynamisch und ich bin nicht der Sender.

'Beliebige' Länge erfordert ein Protokoll, in dem zum Beispiel ein Endemarker zur Kennzeichnung des Nachrichtenendes definiert ist. Ist der Paketaufbau denn dokumentiert?

(Es gibt zwar Audio/Videostreamingprotokolle die keine Länge kennen, aber diese verwenden meist UDP und nicht TCP).

Kostas 25. Mär 2016 16:14

AW: Stream über ICS TWSocketServer empfangen?
 
Hallo,

sorry, vermutlich ich hätte erwähnen sollen dass die Länge im Paket selbst hinterlegt ist. Das Paket hat einen Header welches
in einer bestimmten Position die Länge der Nutzdaten beinhaltet. Die Beispiele die ich gefunden habe, senden zuerst eine Textnachrift
mit der Paketlänge die als zweites Paket folgen wird. In meinem Fall ist da nicht so. Es wird gleich das Paket gesendet welches die
Gesamtlänge beinhaltet. Wie können solche Pakete empfangen werden? Der Emfangspuffer muss also während des Empfangens dynamisch vergrößert werden. Sicherlich gibt es dafür Techniken.

Kostas 27. Mär 2016 15:36

AW: Stream über ICS TWSocketServer empfangen?
 
Hallo Zusammen,

dieser Fall ist nahezu erledigt. Die Beschreibung den Datenpakets stimmt nicht mit den Paket überein.
Bitte ignorieren.

Gruß Kostas


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:18 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