Repository navigation
Expand file tree
/
Copy pathclient.c
More file actions
90 lines (75 loc) · 2.43 KB
/
Copy pathclient.c
File metadata and controls
90 lines (75 loc) · 2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "task.h"
void taskprog_1(char *host) {
CLIENT *clnt;
int *result_1;
struct task submit_task_1_arg;
struct result *result_2;
int get_result_1_arg;
clnt = clnt_create(host, TASKPROG, TASKVERS, "udp");
if (clnt == NULL) {
clnt_pcreateerror(host);
exit(1);
}
int choice;
// kullanici arayuzu
while (1) {
printf("\n--- RPC Task Client ---\n");
printf("1. Reverse String (Metni Ters Cevir)\n");
printf("2. Sum of Integer List (Sayilari Topla)\n");
printf("3. Fibonacci Number (Fibonacci Hesapla)\n");
printf("4. Get Result (Sonuc Sorgula)\n");
printf("5. Cikis\n");
printf("Seciminiz: ");
if (scanf("%d", &choice) != 1) {
// Hatali giris
while (getchar() != '\n');
continue;
}
getchar();
if (choice == 5) {
break;
}
if (choice >= 1 && choice <= 3) {
submit_task_1_arg.type = choice;
char buffer[256];
printf("input girin (reversing icin---> 'hello', toplama icin--->'1 2 3',fibonacci icin ---> '10'):");
fgets(buffer, 256, stdin);
buffer[strcspn(buffer, "\n")] = 0;
submit_task_1_arg.payload = buffer;
submit_task_1_arg.id = 0;
// RPC Cagrisi
result_1 = submit_task_1(&submit_task_1_arg, clnt);
if (result_1 == NULL) {
clnt_perror(clnt, "RPC Cagrisi Basarisiz");
} else {
printf(">> BASARILI: Gorev gonderildi. Task ID: %d\n", *result_1);
}
}
else if (choice == 4) {
printf("Sorgulanacak Task ID: ");
scanf("%d", &get_result_1_arg);
result_2 = get_result_1(&get_result_1_arg, clnt);
if (result_2 == NULL) {
clnt_perror(clnt, "RPC Cagrisi Basarisiz");
} else {
printf(">> SONUC (ID %d): %s\n", result_2->id, result_2->output);
}
}
else {
printf("Gecersiz secim!\n");
}
}
clnt_destroy(clnt);
}
int main(int argc, char *argv[]) {
if (argc < 2) {
printf("Kullanim: %s <server_host>\n", argv[0]);
exit(1);
}
taskprog_1(argv[1]);
return 0;
}