Browse Source

First files upload

Maskass57 7 months ago
parent
commit
f84407acbd
4 changed files with 163 additions and 0 deletions
  1. 3
    0
      README.md
  2. BIN
      sujet-TP-AIPS-3MIC.pdf
  3. 80
    0
      tsock_v0.c
  4. 80
    0
      tsock_v1.c

+ 3
- 0
README.md View File

@@ -1,2 +1,5 @@
1 1
 # TP_AIPS
2
+LACAU Clement 
3
+ALNET Paul
2 4
 
5
+gcc t_sockvX.c -o t_sockvX

BIN
sujet-TP-AIPS-3MIC.pdf View File


+ 80
- 0
tsock_v0.c View File

@@ -0,0 +1,80 @@
1
+/* librairie standard ... */
2
+#include <stdlib.h>
3
+/* pour getopt */
4
+#include <unistd.h>
5
+/* déclaration des types de base */
6
+#include <sys/types.h>
7
+/* constantes relatives aux domaines, types et protocoles */
8
+#include <sys/socket.h>
9
+/* constantes et structures propres au domaine UNIX */
10
+#include <sys/un.h>
11
+/* constantes et structures propres au domaine INTERNET */
12
+#include <netinet/in.h>
13
+/* structures retournées par les fonctions de gestion de la base de
14
+données du réseau */
15
+#include <netdb.h>
16
+/* pour les entrées/sorties */
17
+#include <stdio.h>
18
+/* pour la gestion des erreurs */
19
+#include <errno.h>
20
+
21
+void main (int argc, char **argv)
22
+{
23
+	int c;
24
+	extern char *optarg;
25
+	extern int optind;
26
+	int nb_message = -1; /* Nb de messages à envoyer ou à recevoir, par défaut : 10 en émission, infini en réception */
27
+	int source = -1 ; /* 0=puits, 1=source */
28
+	while ((c = getopt(argc, argv, "pn:s")) != -1) {
29
+		switch (c) {
30
+		case 'p':
31
+			if (source == 1) {
32
+				printf("usage: cmd [-p|-s][-n ##]\n");
33
+				exit(1);
34
+			}
35
+			source = 0;
36
+			break;
37
+
38
+		case 's':
39
+			if (source == 0) {
40
+				printf("usage: cmd [-p|-s][-n ##]\n");
41
+				exit(1) ;
42
+			}
43
+			source = 1;
44
+			break;
45
+
46
+		case 'n':
47
+			nb_message = atoi(optarg);
48
+			break;
49
+
50
+		default:
51
+			printf("usage: cmd [-p|-s][-n ##]\n");
52
+			break;
53
+		}
54
+	}
55
+
56
+	if (source == -1) {
57
+		printf("usage: cmd [-p|-s][-n ##]\n");
58
+		exit(1) ;
59
+	}
60
+
61
+	if (source == 1)
62
+		printf("on est dans le source\n");
63
+	else
64
+		printf("on est dans le puits\n");
65
+
66
+	if (nb_message != -1) {
67
+		if (source == 1)
68
+			printf("nb de tampons à envoyer : %d\n", nb_message);
69
+		else
70
+			printf("nb de tampons à recevoir : %d\n", nb_message);
71
+	} else {
72
+		if (source == 1) {
73
+			nb_message = 10 ;
74
+			printf("nb de tampons à envoyer = 10 par défaut\n");
75
+		} else
76
+		printf("nb de tampons à envoyer = infini\n");
77
+
78
+	}
79
+}
80
+

+ 80
- 0
tsock_v1.c View File

@@ -0,0 +1,80 @@
1
+/* librairie standard ... */
2
+#include <stdlib.h>
3
+/* pour getopt */
4
+#include <unistd.h>
5
+/* déclaration des types de base */
6
+#include <sys/types.h>
7
+/* constantes relatives aux domaines, types et protocoles */
8
+#include <sys/socket.h>
9
+/* constantes et structures propres au domaine UNIX */
10
+#include <sys/un.h>
11
+/* constantes et structures propres au domaine INTERNET */
12
+#include <netinet/in.h>
13
+/* structures retournées par les fonctions de gestion de la base de
14
+données du réseau */
15
+#include <netdb.h>
16
+/* pour les entrées/sorties */
17
+#include <stdio.h>
18
+/* pour la gestion des erreurs */
19
+#include <errno.h>
20
+
21
+void main (int argc, char **argv)
22
+{
23
+	int c;
24
+	extern char *optarg;
25
+	extern int optind;
26
+	int nb_message = -1; /* Nb de messages à envoyer ou à recevoir, par défaut : 10 en émission, infini en réception */
27
+	int source = -1 ; /* 0=puits, 1=source */
28
+	while ((c = getopt(argc, argv, "pn:s")) != -1) {
29
+		switch (c) {
30
+		case 'p':
31
+			if (source == 1) {
32
+				printf("usage: cmd [-p|-s][-n ##]\n");
33
+				exit(1);
34
+			}
35
+			source = 0;
36
+			break;
37
+
38
+		case 's':
39
+			if (source == 0) {
40
+				printf("usage: cmd [-p|-s][-n ##]\n");
41
+				exit(1) ;
42
+			}
43
+			source = 1;
44
+			break;
45
+
46
+		case 'n':
47
+			nb_message = atoi(optarg);
48
+			break;
49
+
50
+		default:
51
+			printf("usage: cmd [-p|-s][-n ##]\n");
52
+			break;
53
+		}
54
+	}
55
+
56
+	if (source == -1) {
57
+		printf("usage: cmd [-p|-s][-n ##]\n");
58
+		exit(1) ;
59
+	}
60
+
61
+	if (source == 1)
62
+		printf("on est dans le source\n");
63
+	else
64
+		printf("on est dans le puits\n");
65
+
66
+	if (nb_message != -1) {
67
+		if (source == 1)
68
+			printf("nb de tampons à envoyer : %d\n", nb_message);
69
+		else
70
+			printf("nb de tampons à recevoir : %d\n", nb_message);
71
+	} else {
72
+		if (source == 1) {
73
+			nb_message = 10 ;
74
+			printf("nb de tampons à envoyer = 10 par défaut\n");
75
+		} else
76
+		printf("nb de tampons à envoyer = infini\n");
77
+
78
+	}
79
+}
80
+

Loading…
Cancel
Save