summaryrefslogtreecommitdiffstats
path: root/Bachelor/Verteilte Systeme/Praktikum2/loesung_neu/phonebook_server.c
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Bachelor/Verteilte Systeme/Praktikum2/loesung_neu/phonebook_server.c
downloadStudium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.gz
Studium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Bachelor/Verteilte Systeme/Praktikum2/loesung_neu/phonebook_server.c')
-rw-r--r--Bachelor/Verteilte Systeme/Praktikum2/loesung_neu/phonebook_server.c84
1 files changed, 84 insertions, 0 deletions
diff --git a/Bachelor/Verteilte Systeme/Praktikum2/loesung_neu/phonebook_server.c b/Bachelor/Verteilte Systeme/Praktikum2/loesung_neu/phonebook_server.c
new file mode 100644
index 0000000..de673e0
--- /dev/null
+++ b/Bachelor/Verteilte Systeme/Praktikum2/loesung_neu/phonebook_server.c
@@ -0,0 +1,84 @@
+/*
+ * This is sample code generated by rpcgen.
+ * These are only templates and you can use them
+ * as a guideline for developing your own functions.
+ */
+
+#include "phonebook.h"
+#include <stdio.h>
+#include <string.h>
+
+//phonebookEntry myphonebook[50];
+//int i=0;
+
+int *
+add_1_svc(phonebookEntry *argp, struct svc_req *rqstp)
+{
+ static int result;
+
+ /*
+ * insert server code here
+ */
+ FILE* fp;
+ fp=fopen("phonebook.dat","a+");
+ /*strcat(myphonebook[i].name,argp->name);
+ strcat(myphonebook[i].name,"\0");
+ strcat(myphonebook[i].number,argp->number);
+ strcat(myphonebook[i].number,"\0");*/
+ fprintf(fp,"%s;%s\n",argp->name,argp->number);
+ printf("%s;%s\n",argp->name,argp->number);
+ //printf("Added: %s %s\n",myphonebook[i].name,myphonebook[i].number);
+ //i++;
+ fclose(fp);
+ return &result;
+}
+
+str_number *
+search_1_svc(str_name *argp, struct svc_req *rqstp)
+{
+ static str_number result;
+ static str_name aktName;
+ static str_number aktNumber;
+ char temp[80];
+ int n=0;
+ /*
+ * insert server code here
+ */
+ strcat(result.number,"-1");
+ printf("search string: %s\n",argp->name);
+ /*for (n=0;n<i;n++)
+ {
+ printf("actual entry: %s\n",myphonebook[n].name);
+ if (strcmp(argp->name,myphonebook[n].name) == 0)
+ {
+ strcpy(result.number,myphonebook[n].number);
+ break;
+ }
+ }*/
+ FILE *fp;
+ fp=fopen("phonebook.dat","r");
+ while(!feof(fp))
+ {
+ strcpy(temp,"\0");
+ strcpy(aktName.name,"\0");
+ strcpy(aktNumber.number,"\0");
+ fscanf(fp,"%s",&temp);
+ printf("Read from file: %s ",temp);
+ strcat(aktName.name,strtok(temp,";"));
+ strcat(aktName.name,"\0");
+ strcat(aktNumber.number,strtok(NULL,";"));
+ strcat(aktNumber.number,"\0");
+ //printf("actual entry: %s\n",myphonebook[n].name);
+ printf("actual entry: %s %s\n",aktName.name,aktNumber.number);
+ if(strcmp(aktName.name,argp->name) == 0)
+ {
+ strcpy(result.number,aktNumber.number);
+ fclose(fp);
+ return &result;
+ }
+ }
+ strcpy(result.number,"-1");
+ fclose(fp);
+
+ return &result;
+}