Я хочу обмениваться переменными между клиент-серверной программой. У меня есть сервер и 2 клиента. Я сделал SHM с shmget, но я не могу Reat переменные в клиентеОбщая память в C linux между сервером и клиентом
Сервер:
if ((nMemID=shmget(kluc, sizeof(udaje[2]), IPC_CREAT|0777))==-1)
{
perror("Nepodarilo sa vytvorit segment zdielanej pamate\n");
exit(-100);
}
if ((shared =(udaje *)shmat(nMemID, NULL, 0))==NULL)
{
fprintf(stderr,"Nepodarilo sa pripojit na rad sprav\n");
exit(-1);
}
shared->hlavnaNadrz=50000;
shared->nadrz1=1200;
Клиент:
if ((zdielanie =(udaje *)shmat(nMemID, NULL, 0))==NULL)
{
fprintf(stderr,"Nepodarilo sa pripojit na rad sprav\n");
exit(-1);
}
data=zdielanie->hlavnaNadrz;
Не может читать или не можете прикрепить? – HAL
не может читать из sharedMemor. Но в ipcs у меня есть sharedmemory, созданный 0x0000162e 62619660 fitz 777 48 1 – Patrick
Если ваши клиентские и серверные программы будут обмениваться данными по сети, тогда обмен памятью между процессами не будет работать. Поскольку память распределяется на вашем сервере, а не на ваших клиентах. – EdgeCaseBerg