Support Request #12229
closedCraft and Sending SOME/IP Samples
Description
Supportanfrage
Wie in Issue #12045 besprochen, versuche ich gerade SOME/IP Samples zu erstellen und mit einem "Sonder SOME/IP UDP Sender" an den Sensor wieder zu schicken.
Ich habe wie im Beispiel https://support.digitalwerk.net/adtf_addons/adtf-device-toolbox/v3/devicetoolbox_html/page__some_ip.html#sec_someip_sample_crafting
SOME/IP-Samples erstellt und jetzt will ich diese Samples mit meinem neu von mir erstellten "Sonder SOME/IP UDP Sender" empfangen, den tSomeIpSampleHeader entfernen und dann diese samples per UDP schicken.
An der Seite von der SOME/IP-Samples Crafter habe ich, soweit wie im Beispiel geklärt, ein pSomeIpSample erstellt und "gefüllt" mit dem tSomeIpSampleHeader und das Payload des Messages.
Dann schicke ich diese Samples so:
m_pTestWriter->Write(pSomeIpSample);
Dann an der Empfänger-Seite ("Sonder SOME/IP UDP Sender") muss ich irgendwie auf die empfangenen pSomeIpSamples zugreifen damit ich den tSomeIpSampleHeader entfernen kann.
Dies, dachte ich, kann ich machen, indem ich auf den SampleBuffer des Samples zugreifen kann und von dieser dann die notwendigen Informationen extrahieren bzw. entfernen.
Meine Fragen:
1) Ist diese Vorgehensweise richtig?
2) Wie kann ich auf den SampleBuffer eines Samples zugreifen?
Lösung
Mit Hilfe des ISample
-Interfaces kannst Du Dir mit der Lock-Funktion das ISampleBuffer
-Interface holen.
Das ISampleBuffer
-Interface hat dann eine Get
-Methode.
Über diese Methode bekommst Du einen Zeiger auf den Inhalt (Payload) des Samples.