Conversa entre lula e bolsonaro que pode ser observada iniciando um server como intermédio. Feito em C, usando Shared Memory IPC (Inter-Process Communication)
O jeito que essa brincadeirinha funciona na real é bem simples, primeiro eu inicializo as variaveis que eu vou precisar usar em qualquer escopo, por isso eu inicializo elas no escopo global. Daí eu também declaro o struct
que vai servir como o esqueleto da shared memory
, e vai manter meus dados organizados dentro dessa memória compartilhada, me impedindo também de acessar algo fora dessa memória virtual, e também facilitando o cálculo do tamanho dessa shared memory
. Dentro do struct eu uso unsigned char stat
pro status da conversa, porquê unsigned char
usa só 1 bytes, diferente do int
(numero inteiro) que além de poder ser negativo, não usando unsigned, mas mesmo assim, int
usa 4 bytes, espaço desnecessário. Aí no int main
eu pergunto pro cliente se ele quer ser (nesse processo) o lula, o server, ou o bolsonaro, ai em seguida o programa calcula a key da shared memory, inicia a shared memory, e prende nosso processo à ela, de resto, é bem simples, a mensagem fica guardada em uma só variavel na nossa shared memory, o status só serve pra identificar se a mensagem foi vista (0) se foi enviada pelo lula (2) ou pelo pocketnaro (1), e nossa mensagem mais recente fica sempre na shared memory, e sim, ela some logo em seguida da próxima, ela nao fica no disco.
Se quiser ver essa conversa, inicie o programa 3 vezes sendo cada personagem idependente e ai vc vai poder ver essa brincadeira ai. Quando acabar nao esquece de excluir a shared memory pool
, pra nao ocupar RAM atoa.