lecture d'une structure en mémoire partagée et affichage dans des textboxs

Petit nouveau ! | 5 Messages

02 mai 2016, 13:32

Bonjour,
Je viens de faire un bout de code en C qui crée une mémoire partagée dans laquelle on vient mettre une structure contenant tous types de données ( string , float , char , int ...).
Actuellement dans ma page php j'ouvre la zone mémoire je récupère mes infos et je les affiche

Code : Tout sélectionner

$shared_memory_string = shmop_read($shared_memory_id, 0, 10); $shared_memory_array = array_slice(unpack('C*', "\0".$shared_memory_string), 1); for($i = 0; $i < 10; $i++) { echo $shared_memory_array[$i] . ", "; }
Je voudrais savoir si il existe un moyen de créer une structure en php dans laquelle je viendrai mettre ce que je lis en mémoire.
Après je voudrais afficher afficher ces variables dans des textbox pour pouvoir les modifier et les renvoyer à mon autre application.
Actuellement je récupère un tableau que je voudrais convertir en structure.

Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

02 mai 2016, 13:56

Bonjour,

Je ne suis pas sûr d'avoir compris ce que tu entendais par "structure".
Pour écrire dans un bloc de mémoire partagée, il faut utiliser shmop_write() : https://secure.php.net/manual/fr/functi ... -write.php

Et sinon, voici peut être une piste dont tu pourrais t'inspirer :
http://www.raspberry-projects.com/pi/pr ... web-server
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 5 Messages

02 mai 2016, 14:35

C'est bien le projet que j'ai utilisé.
Pour moi une structure c'est

Code : Tout sélectionner

struct Essai_Struct { unsigned char Val1; float Val2; unsigned char Val3[10]; };

Mammouth du PHP | 2703 Messages

02 mai 2016, 14:47

cela n'existe pas en php, voir http://stackoverflow.com/questions/3861 ... ype-in-php pour ce qui s'en raproche.

Petit nouveau ! | 5 Messages

02 mai 2016, 14:53

oui j'ai vu mais dans les exemples il n'y a que des chaines de caractères et pas des flottants.
Si je ne crée pas une structure identique je vais être embêter pour extraire mes données sauf si je le fais data par data avec un pointeur qui se décale dans ma chaine de réception.