2011-05-24 20 views
5

Actualmente estoy usando la cola de mensajes para pasar mensajes entre dos procesos, pero estoy alcanzando un límite de tamaño máximo de 32k. ¿Cuál es la mejor opción? Fragmentando el mensaje y luego volviendo a ensamblar o usando tomas TCP/IP para comunicarme entre procesos o cualquier cosa con la que me puedan ayudar.Comunicación entre procesos en c/C++

Respuesta

1

Solo usted puede determinar la respuesta correcta, pero los sockets de dominio de Unix son probablemente su mejor alternativa si no desea dividir/reconstruir los mensajes. La memoria compartida sería más rápida pero tiene los dolores de cabeza de sincronización asociados.

Si el/los programa (s) que leen/escriben la cola son de una sola hebra, dividir los mensajes es bastante fácil: básicamente coloque un byte al comienzo de cada segmento que indique si es un mensaje nuevo o una continuación de uno anterior . Si están enhebrados, mordería la bala y cambiaría a otra cosa.

Cuestiones relacionadas