ChrisB: c-string

Beitrag lesen

Hi,

ich baue gerade ein alte CGI (in c) auf php um. Das CGI hat ein UDP Paket zu einem Server geschickt. Dieses soll jetzt direkt aus dem PHP passieren.

Problem ist ein c-string "char buffer[size];" wo mit hilfe eines Pointers daten geschrieben wurden. Geht soetwas auch mit php?

Was ist daran problematisch?
Wo werden die Daten denn hin „geschrieben”? Werden sie als Datenstrom über zuvor geöffneten UDP-Verbindung übertragen?
Das kann PHP auch - schau dir fsockopen & Co. an.

Habe halt unterschiedliche typen. zb: shorts. Habe diese direkt geschrieben und den Pointer um size(short) verschoben.

Wenn du mit PHP einfach einen Datenstrom ausgeben willst, dann brauchst du keinen Zeiger selber verschieben, sondern einfach nur „schreiben”.

Die Datentypen sind dabei so lange unproblematisch, so lange sie eine implizite toString-Methode haben, die eine sinnvolle Repräsentation als Textliteral liefert.
D.h., bei Arrays z.B. musst du also aufpassen - die direkt wegschreiben zu wollen, würde nur die Ausgabe „Array” erzeugen; als rekursiv durchlaufen, bis man dabei auf atomare Datentypen trifft, die sich als Textliteral darstellen lassen.

MfG ChrisB

--
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]