Memoria compartida
Publicado por jaldonfer (9 intervenciones) el 16/02/2010 16:21:39
Hola a todos:
Tengo problemas para leer con php segmentos de memoria compartica, creados con otros procesos.
Me explico:
Tengo varios procesos ( desarrollados con C++ ) que interactuan entre si mediante segmentos de memoria compartida.
Lo que ahora quiero hacer es crear un script php que lea de dichos segmentos que ya existen.
He instalado y compilado el php con las opciones --enable-shmop y --enable-sysvsem.
El problema viene en el codigo php:
<?php
// Creacion de un segmento de memoria compartida de 100 bytes y con un
// identificador igual a 0xff3 ( CREO QUE AQUI HABRÍA QUE PONER LOS DATOS DE ORIGEN DE LA MEMORIA COMPARTIDA DE LOS PROCESOS QUE HE DESARROLLADO EN C "/bin/ls", PERO SI HAGO ESTO NO ME FUNCIONA. )
$shm_id = shmop_open(0xff3, "w", 0644, 100);
if(!$shm_id) {
echo "No se pudo crear el segmento de memoria compartida\n";
}
// Lectura de la cadena de texto de prueba
$my_string = shmop_read($shm_id, 0, $shm_size);
if(!$my_string) {
echo "No se pudo leer el segmento de memoria compartida\n";
}
echo "Los datos que contenia el segmento de memoria compartida son los
siguientes:".$my_string."\n";
}
shmop_close($shm_id);
?>
Este codigo lo he cogido de internet. Pienso que funciona bien. Pero no puedo hacer lo que pretendo.
Gracias y Saludos Cordiales !!!
Tengo problemas para leer con php segmentos de memoria compartica, creados con otros procesos.
Me explico:
Tengo varios procesos ( desarrollados con C++ ) que interactuan entre si mediante segmentos de memoria compartida.
Lo que ahora quiero hacer es crear un script php que lea de dichos segmentos que ya existen.
He instalado y compilado el php con las opciones --enable-shmop y --enable-sysvsem.
El problema viene en el codigo php:
<?php
// Creacion de un segmento de memoria compartida de 100 bytes y con un
// identificador igual a 0xff3 ( CREO QUE AQUI HABRÍA QUE PONER LOS DATOS DE ORIGEN DE LA MEMORIA COMPARTIDA DE LOS PROCESOS QUE HE DESARROLLADO EN C "/bin/ls", PERO SI HAGO ESTO NO ME FUNCIONA. )
$shm_id = shmop_open(0xff3, "w", 0644, 100);
if(!$shm_id) {
echo "No se pudo crear el segmento de memoria compartida\n";
}
// Lectura de la cadena de texto de prueba
$my_string = shmop_read($shm_id, 0, $shm_size);
if(!$my_string) {
echo "No se pudo leer el segmento de memoria compartida\n";
}
echo "Los datos que contenia el segmento de memoria compartida son los
siguientes:".$my_string."\n";
}
shmop_close($shm_id);
?>
Este codigo lo he cogido de internet. Pienso que funciona bien. Pero no puedo hacer lo que pretendo.
Gracias y Saludos Cordiales !!!
Valora esta pregunta


0