Jak sdílet data mezi aplikací v c?
Jsem použít dočasný soubor jako trvalé úložiště. Klient vloží data, může server číst. Myšlenka je, aby bylo možné přidat co nejvíce klientů, jak budete chtít. To je čistě otázka výzkumu, které nejsou přímo vztahující se k problému skutečného světa.
Existují lepší způsoby, jak sdílet data mezi aplikacemi?
ipc.h (interprogram komunikace.h)
#ifndef IPC /* Include guard */
#define IPC
void write_message(int ID);
void read_message();
#endif
klient.c
#include <stdlib.h>
#include <stdio.h>
#include "ipc.h"
int main()
{
int ID;
while(1){
printf("Please enter ID: ");
scanf("%d", &ID);
write_message(ID);
}
return 0;
}
server.c
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
#include "ipc.h"
int main()
{
while(1){
read_message();
Sleep(100);
}
return 0;
}
ipc.c (obsahuje funkce, jako je popsáno v ipc.h)
#include <stdlib.h>
#include <stdio.h>
#include "ipc.h"
void write_message(int ID){
FILE * fp;
fp = fopen("temp.txt", "w");
if(fp == NULL)
{
printf("Error!");
exit(1);
}
fprintf(fp, "ID\t:\t%d\n", ID);
fclose(fp);
}
void read_message(){
FILE * fp;
char c;
fp = fopen("temp.txt", "r");
if(fp == NULL)
{
exit(1);
}
while ((c = getc(fp)) != EOF){
printf("%c", c);
}
fclose(fp);
}